【问题标题】:Ember: accessing {{render}} options hash in controllerEmber:访问控制器中的 {{render}} 选项哈希
【发布时间】:2013-05-08 11:28:18
【问题描述】:

{{render}} Handlebars 助手接受三个参数:

  1. 模板
  2. 'contextString' - 本质上是模型对象
  3. 选项哈希

我知道我可以按如下方式指定这些选项:

{{render 'duty' this key1="value1" key2="value2"}}

并且可以使用options.hash 从渲染辅助方法中访问这些选项,但是我不确定如何从通过调用 {{render}} 实例化的控制器中访问它们 - 在此以 DutyController 为例。

有谁知道如何在控制器中访问通过调用 {{render}} 传递的选项?

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    附加选项哈希是可选的,将被传递给视图。在助手的末尾,选项被传递给视图助手:

    Ember.Handlebars.helpers.view.call(this, view, options);
    

    我相信这与您使用 {{view}} 帮助器相同,只是 {{render}} 帮助器也在处理控制器和上下文:

    {{view 'duty' key1="value1" key2="value2"}}
    

    这意味着您可以在视图中使用额外的选项。控制器将有权访问模型中的信息。

    JSBin example

    还可以查看 {{render}} helper 的 ember 指南

    【讨论】:

    • 谢谢先生!直到我真正定义了视图,这才起作用:App.DutyView = Ember.View.extend();
    • 是的,必须定义视图当然是一个惊喜,我认为 ember 会自动创建一个(根据路由、控制器等)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    相关资源
    最近更新 更多