1. 程式人生 > >有時候從後臺獲取的資料層次及比較多,導致修改vue的資料後沒有對dom進行重新渲染

有時候從後臺獲取的資料層次及比較多,導致修改vue的資料後沒有對dom進行重新渲染

解決辦法

vm.$forceUpdate()
示例:

迫使 Vue 例項重新渲染。注意它僅僅影響例項本身和插入插槽內容的子元件,而不是所有子元件。

methods: {
  selectInsurance(){ //重新整理可選狀態
    for(var i=0; i<this.dataArr.length; i++){ 
      var flag = false; //預設沒有選中
      var itemI = this.dataArr[i];

      for(var j=0; j<this.form.carInsuranceVOList.length; j++){ //檢測選項是否已被選中過
        var itemJ = this.form.carInsuranceVOList[j];
        if(itemI.code == itemJ.insuranceName){
          flag = true;
          break;
        }
      }

      if(flag){
        itemI.disabled = true;
      }else{
        itemI.disabled = false;
      }
    }

    this.$forceUpdate(); //強制重新整理,解決頁面不會重新渲染的問題
  }
}