怎样调用vue的methods中闭包方法?

大群
  • 61

image.png

如图所示,调用三次这个方法,199行打印出来的为什么是三个1,这地方有点不太明白,a不应该每次都递增吗?

回复
阅读 714
1 个回答
✓ 已被采纳
changeNum: (() => {
  let a = 0;
  return function() {
    a++;
    console.log(a)
  }
})()

你在循环体里每次都是重新执行函数得到return的这个函数。你应该让changeNum直接就指向内部return的函数,或者你在forEach之前先执行changeNum得到内部的函数,然后循环执行该函数

你知道吗?

宣传栏