当我们需要对后台获取的res.data进行新绑定数据的时候
如:

data () {
	return { 
		list: [ ]
	}
}
.....................res => {
  this.list = res.data;
	 this.list.forEach(item => {
		item.a = 1234;
	})
}

这个时候,如果对上面新添加的变量a进行值更新操作并不能触发视图更新,如:
在这里插入图片描述
如上面的批量打折并不能影响下面打折,即使对list => item.a = 789 ,但是视图里a的值
还是1234

解决办法就是先声明一个list,将变量绑定后再给this.list赋值

.....................res => {
  var list = [ ];
  list = res.data;
	 list.forEach(item => {
		item.a = 1234;
	})
	this.list = list
}

还可以用vue里面的Vue.set( target, key, value )来添加对象属性或者来改变数组,只能改变根属性data下面的子元素

data() {
	return{
		arr: [1,2,3],
		obj: {
			a:1,
			b:2,
		}
	}
}

vue.set(vm.arr,1, 'hwl')       ====>   arr:[1,'hwl',3]

vue.set(vm.obj, 'c', 3)        ===⇒  obj: {
																a:1,
																b:2,
																c:3
										}
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45 7 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐