在开发时碰到一种情况:在vue的data里声明一个对象,如:dataObj: {}
,然后动态给对象新增一个属性,但是视图层无法更新
解决方法:
动态给 dataObj
新增属性时:
错误的方法:this.dataObj.name='haha'
,这样直接新增属性时不能被vue所监听;
正确的方法:this.$set(this.dataObj, 'name', 'haha')
,这样就能被vue监听到,从而更新视图;
当对象中的属性已被vue所监听,则可以直接使用this.dataObj.name='hhhhhhhh'
直接对属性进行修改;