data属性:
a: {},b: [],
在created的时候从服务器获取数据,需要填充到a和b中,因为数据需要过滤所以不能直接赋值,
for(let key in response.data.list){ if(response.data.list[key].type == 2){ this.a[key] = response.data.list[key] } }
修改a的值时,视图不会刷新。
看了文档说是因为a的属性中没有key,新增的属性要$set。
但是,对b的操作有两种结果。
这样操作:
for(let key in response.data.list){ if(response.data.list[key].type == 1){ this.b.push(response.data.list[key]) } }
修改b的值,视图会刷新。
如果是这样:
let index = 0; for(let key in response.data.list){ if(response.data.list[key].type == 1){ this.b[index] = response.data.list[key] index ++ } }
修改b的值,视图不会刷新。
为什么push的时候不需要$set?
千巷猫影
相关分类