尽量用

for (var i = 0; i < changearr_k.length; i++) {
var obj = {};
obj.key = changearr_k[i];
obj.value = changearr_v[i];
this.tableData.push(obj);
}

不推荐

for (var i = 0; i < changearr_k.length; i++) {
var obj = {};
obj.key = changearr_k[i];
obj.value = changearr_v[i];
this.tableData[i] = obj;
}

for循环中的两行代码,表面上实现了相同的功能,但是在vue中,使用空数组直接赋值后,页面上的数据并不会动态改变。而使用push方法后,页面上的内容就能正常发生变化了。

查阅后发现,用这两种方法,数组最后的长度相同,但是push添加的元素具有set和get方法,这样想通过点击改变edit值时可以生效的,而直接赋值添加的元素点击改变edit不生效。

作者:雨萌fyh
链接:https://www.jianshu.com/p/e8b2d68d4fc1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Logo

前往低代码交流专区

更多推荐