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的型別會從陣列變成物件
解決例項:
推薦閱讀:
相關文章
- 使用命令檢視Linux核心版本的三種方法Linux
- 中科三方:三種檢視SSL證書有效期的方法
- 檢視mysql版本的六種方法MySql
- 代理IP檢測的三種方法
- Element表格資料沒有重新渲染
- 電腦配置的三種檢視方法 不用藉助軟體怎麼檢視電腦配置
- 交換兩個資料的三種方法
- iview-admin 關於列表資料更新,但檢視無法重新整理問題小記View
- Layui資料表格 加入 自定義擴充套件方法(重新渲染Render當前頁資料)UI套件
- Spring Boot(三):RestTemplate提交表單資料的三種方法Spring BootREST
- vue2.0的虛擬DOM渲染Vue
- linux下檢視mysql版本的四種方法LinuxMySql
- Linux檢視檔案大小的幾種方法Linux
- win10電腦設定所有資料夾使用同一種檢視的方法Win10
- 聊一聊 React 中更新 ui 檢視的幾種方式ReactUI
- windows10更新記錄檢視方法_win10檢視歷史更新怎麼操作WindowsWin10
- 檢視資料庫佔用磁碟空間的方法資料庫
- CentOS下檢視系統版本的4種方法CentOS
- MVC 檢視不使用模板頁的兩種方法MVC
- Redis快速產生測試資料的三種方法Redis
- vue中動態修改陣列的展現(資料更新,檢視不更新驗證)Vue陣列
- Unity中的三種渲染路徑Unity
- Windows10系統檢視GPU效能資料的方法WindowsGPU
- Linux 中實時檢視日誌的3種方法Linux
- 兩種檢視錶空間使用情況的方法
- Linux系統下檢視mysql版本的四種方法LinuxMySql
- ss:檢視網路連線的另一種方法
- 17 種檢視 Linux 實體記憶體的方法Linux記憶體
- Vue中強制元件重新渲染的正確方法Vue元件
- Vue 中 強制元件重新渲染的正確方法Vue元件
- 資料庫檢視的作用資料庫
- 資料庫檢視的使用資料庫
- 資料庫的物化檢視資料庫
- Python——各種方法的使用(儘量每天更新)——from(資料探勘課)Python
- Mysql兩種情況下更新欄位中部分資料的方法MySql
- 5種快速易用的Python Matplotlib資料視覺化方法Python視覺化
- 檢測代理IP是否被佔用的三種方法
- 電腦怎麼檢視windows版本 檢視電腦windows幾的四種方法教程Windows