【发布时间】:2013-04-10 17:26:59
【问题描述】:
我正在尝试确定何时使用渲染以及何时通过视图来渲染自定义视图。我知道使用 render 进行渲染可以获得完整的上下文(视图、控制器)。但是视图呢?视图应该用于自定义视图和处理事件。
以下示例来自 ember 数据示例
contacts.hbs
<div class="span3">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">All contacts</li>
{{#each contact in controller}}
{{view App.ContactInListView contentBinding="contact"}}
{{/each}}
</ul>
</div>
</div>
<div class="span9">
{{outlet}}
</div>
contact_in_list_view.hbs
App.ContactInListView = Em.View.extend({
templateName: 'contact_in_list',
tagName: 'li',
classNameBindings: 'isActive:active',
isActive: function() {
return this.get('content.id') === this.get('controller.activeContactId');
}.property('controller.activeContactId')
});
contact_in_list.hbs
{{#linkTo "contact" contact}}{{contact.fullName}}{{/linkTo}}
我不能只用渲染渲染contact_in_list 并传递一些控制器吗?
我应该什么时候使用渲染和什么时候查看?经验法则是什么?
【问题讨论】:
-
附加问题:上面的例子使用了内容绑定。这是否意味着控制器和视图都有我们可以绑定的内容?
-
我认为你不能用
render做到这一点。看看stackoverflow.com/questions/14971056/nested-views-in-ember/…
标签: ember.js