vue2.0資料更新,重新渲染檢視的三種方法
問題:利用v-for渲染資料,通過方法改變了資料,檢視沒有更新。
原因:由於javascript的限制,Vue不能檢測到以下變動的陣列(如:objArr):
1.通過索引直接設定陣列的某個值,this.objArr[index] = newValue;
2.通過索引直接設定陣列中物件的某個屬性,this.objArr[index].pro = newValue;
3.通過修改陣列的長度,this.objArr.length = newLength;
解決重點:實現類似this.objArr[index] = newValue的效果,同時能更新檢視
解決辦法:
1.索引直接設定陣列的某個值
//1.Vue.set
Vue.set(this.objArr,index,newValue) //(陣列,索引,值)
//2.prototype.splice
this.objArr.splice(index,1,newValue) //(索引,長度,值)
//3.Object.assign
this.objArr[index] = newValue
this.objArr = Object.assign({},this.objArr) //存在弊端,該objArr的型別會從陣列變成物件
2.索引直接設定陣列中物件的某個屬性
//1.Vue.set
this.objArr[index].pro = newValue
var tempObj = this.objArr[index]
Vue.set(this.objArr,index,tempObj) //(陣列,索引,值)
//2.prototype.splice
this.objArr[index].pro = newValue
var tempObj = this.objArr[index]
this.objArr.splice(index,1,tempObj) //(索引,長度,值)
//3.Object.assign
this.objArr[index].pro = newValue
this.objArr = Object.assign({},this.objArr) //存在弊端,該objArr的型別會從陣列變成物件
3.修改陣列的長度
//1.prototype.splice
this.objArr.splice(this.objArr.length,0,new Object()) //(索引,長度,值) 從長度索引開始增加一個新的物件。
//2.Object.assign
this.objArr.length = newLength
this.objArr = Object.assign({},this.objArr) //存在弊端,該objArr的型別會從陣列變成物件
解決例項:
推薦閱讀:
相關文章
- 三種檢視MySQL資料庫版本的方法MySql資料庫
- 【MySQL】鎖——檢視當前資料庫鎖請求的三種方法MySql資料庫
- 持續更新,檢視dump oracle資料塊檢視Oracle
- 介紹三種檢視MySQL字符集的方法MySql
- 使用命令檢視Linux核心版本的三種方法Linux
- oracle 物化檢視重新整理方法Oracle
- 檢視RMAN資訊的三種命令
- 中科三方:三種檢視SSL證書有效期的方法
- angular學習筆記(三)-檢視繫結資料的兩種方式Angular筆記
- 【轉載】檢視當前會話SID的三種方法會話
- 檢視mysql版本的六種方法MySql
- Element表格資料沒有重新渲染
- 代理IP檢測的三種方法
- 交換兩個資料的三種方法
- 三種Ext提交資料的方法(轉)
- oracle 物化檢視的自動重新整理方法Oracle
- 電腦配置的三種檢視方法 不用藉助軟體怎麼檢視電腦配置
- 用命令檢視當前登入資料庫版本(3種方法)資料庫
- 新建Oracle資料庫三種方法Oracle資料庫
- 批量更新SQL Server資料庫的使用者檢視SQLServer資料庫
- Layui資料表格 加入 自定義擴充套件方法(重新渲染Render當前頁資料)UI套件
- asp.net實現word文件線上檢視功能 (三種方法)ASP.NET
- vue2.0的虛擬DOM渲染Vue
- 檢視MySQL資料庫大小的方法總結MySql資料庫
- 兩種檢視oracle表結構的方法Oracle
- iview-admin 關於列表資料更新,但檢視無法重新整理問題小記View
- 向檢視輸出變數的三種方式變數
- win10電腦設定所有資料夾使用同一種檢視的方法Win10
- Spring Boot(三):RestTemplate提交表單資料的三種方法Spring BootREST
- 聊一聊 React 中更新 ui 檢視的幾種方式ReactUI
- Vue中強制元件重新渲染的正確方法Vue元件
- windows10更新記錄檢視方法_win10檢視歷史更新怎麼操作WindowsWin10
- Unity中的三種渲染路徑Unity
- 檢視資料庫佔用磁碟空間的方法資料庫
- CentOS下檢視系統版本的4種方法CentOS
- Linux檢視檔案大小的幾種方法Linux
- linux下檢視mysql版本的四種方法LinuxMySql
- Redis快速產生測試資料的三種方法Redis