请帮我理解下面的问题:
“您无法直接向根数据对象添加新属性,但可以使用”:
Vue.set(this.data,'propname',value)
Vue.set(此。$ data,'lastAddedName','John Elway');
但是Vue.set()上面的第一个参数方法:“this.data”或“this。$ data”,它是根数据对象,所以在控制台中抛出一个错误。所以上面的文档是错误的还是我被误解了?
感谢您的帮助。
答案 0 :(得分:1)
“你不能直接向根数据对象添加新属性”的含义是使用键/值赋值方法添加属性不会创建反应对象;没有创建getter和setter,对它的更改不会传播到该属性的任何使用。
另一方面, Vue.set
专门用于创建具有正确getter和setter的属性,允许vue继续运行而不会从反应层中隐藏属性。
他们使用Vue.set
的方式不正确,Vue不会在vue实例本身上设置值;它还会在开发模式下发出警告。
希望有所帮助。