在EmberJS上动态渲染视图

Wil*_*cio 3 ember.js

我只是有点麻烦为Ember实现一种特殊的观点,我在源头上挖掘了好几天但却找不到如何让它工作......你能看一看并告诉我出了什么问题吗?这是一个小代码,从另一个视图渲染一个视图时的一个特定问题(它没有做正确的绑定...).

示例问题的示例代码(带注释)在这里:http://jsfiddle.net/wilkerlucio/rUUuN/

编辑:

只是为了澄清,我正在尝试做一个动态渲染另一个视图的视图.它对许多实现都很有用,比如标签.在选项卡上,您有选项卡和显示当前选项卡的容器,因此,我正在尝试完成的视图就像当前选项卡容器一样.每个选项卡都有自己的视图,我需要我的视图能够呈现当前选项卡的视图.

我知道我可以做一些事情,比如隐藏一个视图并展示另一个,但这不是我现在想要的方式.我正在创建的这个CardView应该绑定到将返回视图实例的属性,并且CardView将呈现此视图,并且如果指向视图的属性更新则将更新.

你可以看到一个更完整的例子,说明我在这里要做的事情:http://jsfiddle.net/wilkerlucio/Ztdpb/

谢谢

Vee*_*ebs 6

我认为您需要指定模板:

App.CardView = Ember.View.extend({
    defaultTemplate: SC.Handlebars.compile('{{App.obj.value}}')
});
Run Code Online (Sandbox Code Playgroud)

要么

App.CardView = Ember.View.extend({
    templateName: 'sample'
});
Run Code Online (Sandbox Code Playgroud)

如果您计划拥有许多子视图,那么您可能希望尝试使用集合视图.

这个链接有点旧,但它仍然不错:http://guides.sproutcore20.com/using_handlebars.html

我也博客上讲述它是如何实现的CRUD操作与Ember(SC2)这里.

希望这可以帮助.

  • 第二个更正确.您不需要嵌套视图,因此不要费心去做.您可以使用templateName将模板附加到视图. (2认同)