render を使用してカスタム ビューをレンダリングするタイミングと、ビューを介してレンダリングするタイミングを把握しようとしています。render を使用してレンダリングすると、完全なコンテキスト (ビュー、コントローラー) が得られることはわかっています。しかし、ビューはどうですか?ビューは、カスタム ビューとハンドリング イベント用であると想定されています。
以下の例は、フォームember データの例です。
連絡先.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でレンダリングして、いくつかのコントローラーを渡すことはできませんか? いつレンダーを使用し、いつビューを使用する必要がありますか? 経験則は何ですか?