通过Helper访问全局变量

时间:2013-11-21 18:02:48

标签: javascript localization handlebars.js

如何通过Handlebars.js中的辅助函数访问全局变量以进行本地化?这是我到目前为止所得到的。我看到的问题是registerHelper匿名函数中的参数'string'未定义。

模板

<span>{{resourceHelper date}}:</span>

字符串资源

Resources = {};
Resources['date'] = "Date";

辅助功能

Handlebars.registerHelper('resourceHelper', function(string) {
    return Resources[string];
});

1 个答案:

答案 0 :(得分:1)

我发现传递给帮助器的参数是Handlebars上下文中的实际对象名。因此,传递date显然不起作用,因为在该上下文中没有关联的对象。但是,您可以将值作为字符串传递:

{{resourceHelper "date"}}

这解决了我的问题,无需对辅助功能进行其他更改。