如何让vue不代理data函数返回的对象?

_$ 开头的属性 不会 被 Vue 实例代理,因为它们可能和 Vue 内置的属性、API 方法冲突。你可以使用例如 vm.$data._property 的方式访问这些属性

vue官网说data中可以用下划线或者$去实现不被vue代理。但是我把不被代理的变量传入子组件,子组件会代理这个props。

<child-component :_person="_person" />

data(){
    return {
       _person: { name: 'xx' , age: 20 } ,
    }
}

在父组件中打印,_person确实就是原生对象了。但是在child-component中打印_person,就会被vue代理了。有什么办法能让props也不被代理吗?

<script>

export default {
  name: "home",
  components: {
  },
  props: {
    _person: null
  },
  computed: {
    noObserver() {
      let newObj = Object.create(null);
      const _person = this._person;

      for (let key in _person) {
        if (_person.hasOwnProperty(key)) {
          newObj[key] = _person[key];
        }
      }
      return newObj;
    }
  },
  mounted() {
    console.log( 'this._person:',this._person, " this.noObserver:", this.noObserver);
  },
  methods: {}
};
</script>

你可以使用 this.noObserver