vue中 数组通过循环添加新属性页面不更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中 数组通过循环添加新属性页面不更新相关的知识,希望对你有一定的参考价值。

参考技术A

  vue中在一个数组中,通过循环添加一个新属性,添加后数据变了,属性没有改变。这是为什么呢?

这里唯一的例外是使用Object.freeze(),这会阻止修改现有的属性,也意味着响应系统无法再追踪变化。以下是一些具体的分析:

  Vue不允许在已经创建的实例上动态添加新的根级响应式属性。然而它可以使用 Vue.set(obj,key,value) 方法将响应式属性添加到嵌套对象上:

  还可以使用vm.$set实例方法,这也是全局Vue.set方法的别名。

  有时你想向一个已有对象添加多个属性,例如使用 Object.assign() 或 _.extend() 方法来添加属性。但是,这样添加到对象上的新属性不会触发更新。在这种情况下可以创建一个新的对象,让它包含原对象的属性和新的属性:

以上是关于vue中 数组通过循环添加新属性页面不更新的主要内容,如果未能解决你的问题,请参考以下文章

vue中data值改变但页面视图不刷新问题

vue中v-for循环的时候为啥要添加:key属性

vue中修改对象数组的属性值不会渲染到页面上

vue中修改数据页面不更新的原因-解决方案

面试题系列---data数据改变,页面不更新原因及解决方案

修改数据页面不更新的原因和解决方案