vue的官方文档上有这么一段话
以
_
或$
开头的属性 不会 被 Vue 实例代理,因为它们可能和 Vue 内置的属性、API 方法冲突。你可以使用例如vm.$data._property
的方式访问这些属性。
所以,使用_
或$
是一种解决办法。
当然,还有其它的方式,你可以在create
钩子中直接声明指定的属性初始化,例如this.xxxx_prop = {}
,当然,不要让该属性声明在data
中,那么此时vue不会去监测xxxx_prop
属性的变动。
还有一种办法是使用ES5的Object.preventExtensions
来将对象进行密封,或者使用Object.freeze
冻结对象,它们都可以达到相同的目的。
如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!
如无特殊声明,文章均为原创,若有不正之处,万望告知。转载请附上原文地址,十分感谢!