【问题标题】:Dynamically selecting a view/template at runtime in Ember在 Ember 运行时动态选择视图/模板
【发布时间】:2014-01-03 18:38:56
【问题描述】:

我正在尝试做一些与一年前在上一个 SO 问题中提出的问题非常相似的事情:Dynamically choosing a view at runtime with Ember + Handlebars

基本上我有一条路线,我想根据检索到的模型数据加载不同的视图。作为default_container is now deprecated,我不能只从setupController 附加视图,这将是一种丑陋的做法。引用的 SO 似乎暗示我可以在我的模型中引用视图,这听起来像是一个好的开始,或者更好的是使用 mixin 来扩展模型并获得相同的结果,但是我无法获得其中任何一个上班(我刚收到"Assertion Failed: Unable to find view at path 'model.view'"

理想情况下,我希望能够做类似的事情

{{view model.view contentBinding="??"}}

来自我的模板,但我可能会离开,旧 SO 中的代码依赖于 Em.getPath(this.get('constructor') + 'View'),我也相信它现在已被弃用...

作为 ember 的新手并且现在已弃用附加视图,我发现使用附加的大多数官方文档添加视图和子视图相当困难。或者,也许我根本不了解 ember 中的视图创建......

谢谢!

【问题讨论】:

    标签: javascript ember.js handlebars.js


    【解决方案1】:

    我不确定究竟你想做什么,但你可以试试这样:

    App.YourController = Ember.Controller.extend({
      computedPropertyWithNameOfView: function(){
        return 'yourView';
      }.property()
    })
    
    
    {{render computedPropertyWithNameOfView}}
    

    这应该呈现一个将根据绑定属性更改的视图。该属性应该像与路由一样匹配控制器,并将呈现它的相应视图。 IIRC {{view}} 还没有了解容器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 2014-10-01
      • 2010-10-11
      相关资源
      最近更新 更多