如何阻止vue进行属性代理

vue的官方文档上有这么一段话

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

所以,使用_$是一种解决办法。

当然,还有其它的方式,你可以在create钩子中直接声明指定的属性初始化,例如this.xxxx_prop = {},当然,不要让该属性声明在data中,那么此时vue不会去监测xxxx_prop属性的变动。

还有一种办法是使用ES5的Object.preventExtensions来将对象进行密封,或者使用Object.freeze冻结对象,它们都可以达到相同的目的。

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。