gpt4 book ai didi

javascript - Dust - 如何在循环中获取父上下文

转载 作者:行者123 更新时间:2023-11-28 15:31:44 24 4
gpt4 key购买 nike

我正在尝试从父上下文中检索循环中的值。 Dust 能够调用我的方法,但我的方法无法访问我在类中定义的属性,因为上下文是当前项。

例如:
JavaScript 类

MyNamespace.MyClass = function () {
this.names= ["Me", "You", "StackOverflow"];
this.isAwesome = true;
};

MyNamespace.MyClass.prototype.sayHello = function() {
if(this.isAwesome) {
return "Hello awesome ";
// This code will never be reached due to 'this' is one of the items from the array
}
return "Hello ";
};

我的尘埃

{#names}{sayHello} {.}{~n}{/names}

问题
sayHello 方法将按预期调用,但是上下文是当前项而不是父项。所以 this 等于当前项目,当然 "Me".isAwesome 将始终返回 false。正如你所理解的,我想变得很棒。

问题
怎样才能做到三杰尘归。

最佳答案

您可以将所需的上下文变量作为参数传递:

{#names myvar=parentContextVariable}{sayHello x=myvar} {.}{~n}{/names}

然后,在辅助函数中:

"sayHello": function(chunk, context, bodies, params) {
//use params.x
}

是的,在这里,您的函数也会有额外的关注(DustJs 的存在)。

关于javascript - Dust - 如何在循环中获取父上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com