gpt4 book ai didi

ember.js - Handlebars.registerHelper - 获取 block 内容的方法?

转载 作者:行者123 更新时间:2023-12-02 05:58:02 25 4
gpt4 key购买 nike

registerHelper 有没有办法获取 block 的内容?

假设我们有以下模板:

{{#myif test}}thats the content i want to have{{/myif}}

以及以下 registerHelper 代码:

Ember.Handlebars.registerBoundHelper('myif', function(test)
{
// do something
return <content of handlebars block>;
});

非常感谢!

最佳答案

Handlebars 以 options.fn 的形式向助手提供嵌套 block ,其中 options 是助手的最后一个参数。您可以使用上下文对象调用此 block ,该 block 将从中获取值。

要传递助手本身的上下文,您可以使用 this 调用它。

在这种情况下,您可能还需要 options.inverse,这是一个可选 block ,如果您的条件为假,将使用它。

Ember.Handlebars.registerHelper('myif', function(condition, options) {
if (condition) {
return options.fn(this);
} else {
return options.inverse(this);
}
});

以及后续在模板中的使用,

{{#myif condition}}
true block here
{{else}}
else block here
{{/myif}}

关于ember.js - Handlebars.registerHelper - 获取 block 内容的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632386/

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