如何让vue不代理data函数返回的对象?
发布于 3 年前 作者 huaer 1397 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

_$ 开头的属性 不会 被 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也不被代理吗?

回到顶部