假设我想显示 TOP3 用户:一种名人堂和耻辱。数据来自两种不同的资源。视图和模板是一样的。
我想知道我应该使用哪个块助手。看法?控制,或者也许用渲染(一个实例,我知道,我知道)以及我如何自定义视图,为它提供一些数据来做一些魔术。
以下解决方案如下:
<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编写?
请分享你的想法。