Vue2不允许在已经创建的实例上动态添加新的响应式属性;若想实现数据与视图同步更新,可采取下面两种解决方案:
1.使用Vue.set,里面的参数是Vue.set(target,index, value)
javascript
// 部分代码
export default {
data() {
return {
info: {
username: 'alan'
}
}
},
mounted() {
this.updateInfo()
},
methods: {
updateInfo() {
Vue.set(this.info, 'age', 18)
console.log(this.info)
}
}
}
2.使用Object.assign,给属性重新赋值
javascript
// 部分代码
updateInfo() {
this.info = Object.assign({}, this.info, {age: 18});
console.log(this.info)
}