当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;
(如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。)
原因是:
受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
所以我们可以使用$set方法 这样可以做到既新增属性又做到视图更新
1.通过Vue.set方法设置data属性
Vue.set(data,'sex', '男')
2.或者是使用this.$set(this.data,”key”,value’)
https://cn.vuejs.org/v2/api/#Vue-set
(vue.js官网)里面有vue.set的详细说明
网友评论