车把:return helper 的 hash
Handlebars: return hash from helper
我可以 return 从 Handlebars helper 哈希吗?我试过这个:
在我看来:
initialize: ->
super
this.hash = {key1: 'test1', key2: 'test2'}
Handlebars.registerHelper 'show', =>
return this.hash
在模板中:
{{show.key1}}
我做错了什么?谢谢!
车把会看到这个:
{{show.key1}}
作为访问 show
变量 的 key1
属性 的尝试,它不会知道 show
在这种情况下应该指的是您的 show
助手 。这只是 Handlebars 语法的一部分,我认为您无能为力。
但是,您可以将 key1
作为参数传递给 show
助手。如果您这样定义助手:
Handlebars.registerHelper 'show', (key, context) =>
@hash[key]
然后像这样使用它:
{{show "key1"}}
然后你会得到你期待的结果。
找到另一种方法。你可以像这样将上下文传递给条件助手:
帮手:
this.showAttributes = {title: 'title1', author: 'author1'}
Handlebars.registerHelper 'show', (cond) =>
return cond.fn(this.showAttributes)
在模板中:
{{#show}}
{{title}}
{{author}}
{{/show}}
工作得很好。
我可以 return 从 Handlebars helper 哈希吗?我试过这个:
在我看来:
initialize: ->
super
this.hash = {key1: 'test1', key2: 'test2'}
Handlebars.registerHelper 'show', =>
return this.hash
在模板中:
{{show.key1}}
我做错了什么?谢谢!
车把会看到这个:
{{show.key1}}
作为访问 show
变量 的 key1
属性 的尝试,它不会知道 show
在这种情况下应该指的是您的 show
助手 。这只是 Handlebars 语法的一部分,我认为您无能为力。
但是,您可以将 key1
作为参数传递给 show
助手。如果您这样定义助手:
Handlebars.registerHelper 'show', (key, context) =>
@hash[key]
然后像这样使用它:
{{show "key1"}}
然后你会得到你期待的结果。
找到另一种方法。你可以像这样将上下文传递给条件助手:
帮手:
this.showAttributes = {title: 'title1', author: 'author1'}
Handlebars.registerHelper 'show', (cond) =>
return cond.fn(this.showAttributes)
在模板中:
{{#show}}
{{title}}
{{author}}
{{/show}}
工作得很好。