vue的数组如何存储数据

Posted Lonely existence, lonely burni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的数组如何存储数据相关的知识,希望对你有一定的参考价值。

vue 和 angular 还有有些区别的,
比如,vue中的数组数据改变后,view并没有发生改变,angular就不会这样。

所以VUE 在数组扩展方法中提供以了一个新的API arr.$set(index, value);
此方法通过索引index设置数组元素来触发视图的跟新。

例如:vue 中的
data {
    return {
       aa: [{name:jxj,age:25},{name:jxj2,age:252},{name:jxj3,age:253}]   }
}

view : 中  <p>my name{{aa[0].name}},my age is {{aa[0].age}}</p>

(1).当我们直接用索引设置元素aa[i].name 和 aa[i].age时,view不会发生改变。
这是vue的一个缺点,为了弥补,vue中提供了$set()方法,vue中还提供了$remove方法,直接删除数组中的指定元素。this.items.$remove(item)。

那么我们需要使用  aa.$set(0, Object.assign({},aa[0],{name:‘jxj2‘,age:26})),才可以触发view的变换。


Object.assign()是ES6中对象的新方法,合并对象,将原对象中所以可枚举的属性,复制到目标对象中。

这里Object.assign({},aa[0],{name:‘jxj2‘,age:26}) 目标对象是个空对象,将对象中{name:‘jxj2‘,age:26}修改的属性合并到源对象aa[0]中,最终又合并到空对象中。形成一个新对象
{name:‘jxj2‘,age:26}。

ps:和jq 的extend()原理一样的啊

以上是关于vue的数组如何存储数据的主要内容,如果未能解决你的问题,请参考以下文章

如何将对象中特定键的值存储到数组中 - Vue

Vue。如何查看本地存储的变化?

Vue 计算属性改变存储状态

在 Vue 中,我如何查看存储在其他设备本地存储中的数据

如何使用 vuex 仅修改存储中的嵌套数组属性

如何在Vue中将格式化的输入文本存储到带有索引的数组中?