1

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_listrenderでレンダリングして、いくつかのコントローラーを渡すことはできませんか? いつレンダーを使用し、いつビューを使用する必要がありますか? 経験則は何ですか?

4

1 に答える 1