現實中,前端前輩們告訴我們少用watch,少用watch,但是我們基於時間緊張的問題,經常不能固守這個規定了,今天的最新發現,nextTick方法,致力於更新了某一個特定的屬性值,完成DOM更新後,觸發事件,也就是觸發dom更新後會回調一個回調函數,有了它,可以替代watch的實時監控功能,減少程序的損耗
例如我們要刪除數組的某個元素:
methods:{
del(e) {
this.delText = e.target.innerText;
this.$nextTick(()=>{
this.changeF(()=>{
if(this.delText==='刪除') return;
alert('最多選中5個');
});
});
},
changeF(fn) {
this.newArr = this.oldArr;
if(this.newArr.length>5) {
// 利用新數組改變,舊數組也會變的規律,splice可以刪除指定下標的元素
//****
if(fn) fn();
}
}
}
// 當然,watch也是可以做的
watch: {
oldArr() {
this.changeF(()=>{
if(this.delText==='刪除') return;
alert('最多選中5個');
});
}
}