我可以从Handlebars助手返回哈希吗?我试过这个:
在我看来:
initialize: ->
super
this.hash = {key1: 'test1', key2: 'test2'}
Handlebars.registerHelper 'show', =>
return this.hash
在模板中:
{{show.key1}}
我做错了什么?谢谢!
答案 0 :(得分:2)
把手会看到这个:
{{show.key1}}
作为尝试访问key1
变量的show
属性,它不知道在这种情况下show
应该是请参阅您的show
帮助。这只是Handlebars语法的一部分,我不认为你可以采取任何措施。
但是,您可以将key1
作为参数传递给show
助手。如果你这样定义帮助器:
Handlebars.registerHelper 'show', (key, context) =>
@hash[key]
然后像这样使用它:
{{show "key1"}}
然后,您将获得您期待的结果。
答案 1 :(得分:0)
找到另一种方式。哟可以将上下文传递给条件助手:
<强>助手:强>
this.showAttributes = {title: 'title1', author: 'author1'}
Handlebars.registerHelper 'show', (cond) =>
return cond.fn(this.showAttributes)
在模板中:
{{#show}}
{{title}}
{{author}}
{{/show}}
完美无缺。