vue.set动态新增对象属性,触发dom渲染

Posted victorlyw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue.set动态新增对象属性,触发dom渲染相关的知识,希望对你有一定的参考价值。

当我们给一个props或者data中被观测的对象添加一个新的属性的时候,不能直接添加,必须使用Vue.set方法

/**
     * ==== 选择产品 ====
     * 因为vue实现双向数据绑定的机制是数据劫持,也就是在所有对象上有个Object.defineProperty()方法,
     * 通过监听set,get方法去实现,而数组没有这两个方法,所以就不会更新view
     * 解决方案就是,需要我们主动通知vue
     * @param items 当前数据
     * **/
    _selectProduct (items) {
      this.listData.forEach(item => {
        this.$set(item, ‘isSelect‘, (item.order.billcode === items.order.billcode))
      })
    }

 

以上是关于vue.set动态新增对象属性,触发dom渲染的主要内容,如果未能解决你的问题,请参考以下文章

Vue.set 向响应式对象中添加响应式属性,及设置数组元素触发视图更新

uni-app动态添加根级别的响应式属性

vue的data里面的值是数组时,在更改其某一项的时候,怎么触发视图的重新渲染?

vue $set 给数据赋值

—Vue.set

JQuery动态新增Dom元素,怎么用JQ选择该元素并设置其属性