javascript - Handlebars : return hash from helper

标签 javascript backbone.js coffeescript handlebars.js

我可以从 Handlebars 助手返回哈希值吗?我试过这个:

在我看来:

    initialize: ->
      super
      this.hash = {key1: 'test1', key2: 'test2'}
      Handlebars.registerHelper 'show', =>
        return this.hash

在模板中:

{{show.key1}}

我做错了什么?谢谢!

最佳答案

Handlebars 会看到这个:

{{show.key1}}

作为访问 show 变量key1 属性的尝试,它不知道 show 在这种情况下应该指的是您的 show helper。这只是 Handlebars 语法的一部分,我认为您对此无能为力。

但是,您可以将 key1 作为参数传递给您的 show 助手。如果您这样定义助手:

Handlebars.registerHelper 'show', (key, context) =>
    @hash[key]

然后像这样使用它:

{{show "key1"}}

然后你会得到你期望的结果。

演示:https://jsfiddle.net/wrykfxyj/

关于javascript - Handlebars : return hash from helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898972/

相关文章:

javascript - Backbone.js 弹出窗口实现

javascript - 主干命名空间

javascript - 动态更新模态 backbone.js 的 css

javascript - JQuery 按文本从选项中选择

javascript - 尝试按喜欢的数量对帖子进行排序 mongodb

java - 如何为 activeElement 设置变量?

Javascript:MIDI 音序器应用程序中 FAST Timer 的 setTimeOut 替代方案

php - 关于 ajax 成功的 if/else 语句

javascript - AngularJS 中的 Kendo Sortable 事件,如何捕获?

javascript - jQuery/CoffeeScript/Rails 不会在我的输入上调用change()