现实中,前端前辈们告诉我们少用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个');
});
}
}