1. 程式人生 > >vue.set動態新增對象屬性,觸發dom渲染

vue.set動態新增對象屬性,觸發dom渲染

bject tro 數據 his col def style this lec

當我們給一個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渲染