在.hbs
文件中,我正在创建包含各种项目的导航菜单。只有当用户是专业人士(布尔)时才会显示其中一项。
var pro
是我的初始值设定项中设置的变量,我需要将其传递给.hbs
文件,以便有条件地显示其中一个菜单项。
在恩伯,这是如何实现的?
答案 0 :(得分:1)
在这种情况下,我们使用服务在应用程序生命周期中存储变量。初始化程序将变量和菜单项置于服务状态。菜单组件从服务中检索变量。
您还可以定义帮助程序以从服务中检索变量。
答案 1 :(得分:0)
我遇到了同样的问题:我必须使用我的html中设置的语言变量,我需要在模板中使用这个语言变量。我使用了一个助手来执行此操作:在帮助程序中,您可以使用在初始化程序中设置的变量pro(如果您声明了它)。
示例:
function myInit(pro) {
var template = ...;
var data = ...;
Handlebars.registerHelper('ifProUser', function(item) {
if (pro) {
return "pro menu here";
} else {
return "";
}
}
var html = template(data);
...
}
然后在模板中使用:
{{ifProInit}}{{/ifProInit}}