前提摘要
有个列表,需要在其中的按钮绑定事件,弹出一个弹框提示,点击确定后对当前项的数据进行处理操作。
palnA
data(){
return {
data:{} //报存变量
}
}
showAlert(item) {
this.data = item;
this.dialogVisiabled = true;
},
//确认方法
confirm(){
console.log(this.data) // 对数据进行操作
}
这是常规思路,但是需要创建一个变量去存储值。下面是闭包的方法。
planB
showAlert(item) {
this.dialogVisiabled = true;
this.confirm = () => {
console.log(item)
};
return this.confirm;
},
对比来看,代码量少了很多,而且不用创建变量去存,因为页面中变量过多,也会造成维护力下降。 闭包的原理不再多说,两种方法孰优孰劣也不讲,只是提供一种解决思路,希望大家多多讨论。