2

TOP3 のユーザーを表示したいとしましょう: 一種の名声と恥辱の殿堂です。データは 2 つの異なるリソースから取得されます。ビューとテンプレートは同じです。

どのブロック ヘルパーを使用すればよいか知りたいです。意見?render (1 つのインスタンス、私は知っています) を制御するか、いくつかの魔法を実行し、データを提供してビューをカスタマイズする方法を説明します。

次の解決策は次のとおりです。

<div id="top3" class="row">
  {{view App.Top3View controllerBinding="controllers.top" label="Hall of Fame" blankState="Wanna be here? Be
  nice to other people!"}}

  {{view App.Top3View controllerBinding="controllers.loser" label="Hall of Shame" blankState="No one here!"}}
</div>

ご覧のとおり、カスタマイズするためのデータを提供したいと思います。

// top3.handlebars
<h2>{{view.label}}</h2>
{{#if controller.content}}
<ul>
  {{#each user in controller.content}}
  <li>
    <img {{bindAttr src="user.gravatar" title="user.name"}} />
  </li>
  {{/each}}
</ul>
{{else}}
<p>{{view.blankState}}</p>
{{/if}}

App.Top3View = Em.View.extend
  classNames: ['col-span-6']
  templateName: 'top3'

たとえば、ラベルはどこから来るのだろうか?多分それはコントローラーに属するべきですか?これがEmberで書かれるべき方法であるかどうか知りたいですか?

あなたの考えを共有してください。

4

1 に答える 1