深結構數據
首先我們知道在vue中,數據的綁定都不用我們操心,例如在data中有一個msg的變量,你修改它,那么在頁面上,msg的內容就會自動發生變化。但是如果對於一個復雜的對象,例如一個對象數組,你直接去給數組上某一個元素增加屬性,或者直接把數組的length變成0,vue就無法知道發生了改變。
1.相信大家也遇到過,實際上是賦值的 界面上並不渲染
change: function(index) {//增加性別屬性
this.list[index].sex = '男';
},
clear: function() {//清空數組
this.list.length = 0;
}
2. this.$set可解決這個問題 vue的規范 文檔里面都有提到過
change: function(index) {//增加性別屬性
this.$set(this.list[index],'sex','男')
},
clear: function() {//清空數組
this.list=[];
}
3.這種是我們要說的 this.$forceUpdate() 有沒有感覺更方便一些了
change: function(index) {
this.list[index].sex = '男';
this.$forceUpdate();
},
clear: function() {
this.list.length = 0;
this.$forceUpdate();
}
