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渲染的主要内容,如果未能解决你的问题,请参考以下文章