首页 > 解决方案 > lucee 5.x ListEach 似乎无法访问本地 var 范围?

问题描述

我似乎无法访问local我的 ListEach 中的范围:

writeDump(local.woCoreID); // outputs expected values
//  LOOP OVER LIST AND SEPARATE TEXT FROM INTEGERS
ListEach(local.__userSuppliedWorkoutTagList, function (item) {
    writeDump(item) //  outputs expected values
    writeDump(local.woCoreID); // key [woCoreID] doesn't exist
});

当我尝试访问 local.woCoreID 时,我收到一条错误消息,key [woCoreID] doesn't exist. 为什么当我可以在 ListEach 之前转储它并且我看到值在那里时。我在这里想念什么?

我正在使用 Lucee 5.x

标签: coldfusionlucee

解决方案


每个function都有自己的local范围。如果您想要外部范围,则必须对其进行引用:

var outerLocal = local;

ListEach(local.__userSuppliedWorkoutTagList, function (item) {
    writeDump(item);
    writeDump(outerLocal.woCoreID);
});

或使用常规的计数for循环而不是ListEach()+ function


推荐阅读