【问题标题】:Ember render helper with dynamic controller/template带有动态控制器/模板的 Ember 渲染助手
【发布时间】:2014-05-28 02:26:37
【问题描述】:

Ember 是否允许渲染动态视图或仅渲染静态视图,我需要知道使用的模板/控制器的名称?

例如:

{{render view.processStep.filterForm model}}

并且 view.processStep.filterForm 可以映射到特定的模板和控制器。 使用这样的语句会抛出异常:

Uncaught Error: Assertion Failed: You used `{{render 'view.processStep.filterForm'}}`, but 'view.processStep.filterForm' can not be found as either a template or a view.

【问题讨论】:

  • 你能提供更多信息,如果可能的话 jsfiddle?

标签: ember.js ember.js-view


【解决方案1】:

虽然我无法使用动态输入呈现模板名称,但这是另一种选择。在适当的情况下,这可能对您有用,我实际上无法将其用于我自己的应用程序,并且想要动态功能,但这是我为您准备的。

http://emberjs.jsbin.com/sixin/2/edit

这个 jsbin 向您展示了我所做的,如果您有任何问题,请告诉我,但本质上您需要使用插座,并将您的动态模板渲染到插座中。

【讨论】:

  • 谢谢,这是一个不错的解决方案。我使用的渲染模式和弹出窗口非常相似。同时我找到了Ember.Handlebars.makeBoundHelper 方法来注册自定义助手。 Ember.Handlebars.makeBoundHelper(function(name, contextString, options) { if (!name) { return new Ember.Handlebars.SafeString(''); } return Ember.Handlebars.helpers.render.apply(this, arguments); });
  • 非常好,很高兴能帮上忙
  • 嗨@bmeyers 我有一个问题。我有一些模板可以动态加载数据。每个模板单独工作正常。现在我想在一个页面中获取所有模板,或者想将其存储用于其他目的。
  • @Rahul_Dabhi 如果我理解正确,您遇到的问题是您不想单独加载每个文件...在这种情况下,预编译模板并将它们全部加载是很常见的立刻。我可以建议使用 ember-cli 吗?如果您不想使用它,您是否有当前的构建过程设置?
  • @bmeyers 是的,我有构建过程设置,有关更多信息,您可以查看这些问题stackoverflow.com/questions/30053762/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
相关资源
最近更新 更多