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))
      })
    }
原文地址:https://www.cnblogs.com/victorlyw/p/9370949.html