这是代码:
pages[i][0] = create("[Back]", () => setMenu(pages[i - 1]));
问题是执行Action
时,它将使用特定范围内的i
,并且由于我将其用于for
,因此它将始终是最大值。在我的情况下,即使lambda是使用2
创建的,参数也变为1
。为了解决这个问题,我做到了:
var forcedCopy = i - 1;
pages[i][0] = create("[Back]", () => setMenu(pages[forcedCopy]));
有什么办法可以解决这个丑陋的把戏?我想通过myFunc(0)
,myFunc(1)
等,而不是myFunc(i)
。