我们在使用VUE的时候,一般会先定义好数据对象,比如说:
data:function(){
return {
a:"1"
}
}
这是先设置好的,但是有一种情况,对象中某个Key是后来加上去的,怎么办呢?
官方提供了set方法
var data = { a: 1 }
var vm = new Vue({
data: data
})
vm.$set('b', 2)
Vue.set(data, 'c', 3)
一个是针对Vue实例的,一个是针对全局的。
但是,还有一种特殊情况,是在你遍历的时候设置的。那怎么办呢。来段代码就知道了。
toggle:function(index,item){
var me = this;
if( (typeof item.expanded) == "undefined" ){
Vue.set(this.items[index],'expanded',true);
}else {
item.expanded = !item.expanded;
}
}
直接用全局,针对对象的索引做响应。
网友评论