这个问题一定很容易回答,虽然我被卡住了......
- 余烬 1.0.0
- 车把 1.0.0
我定义了以下(简化的)助手来生成一个 url:
Ember.Handlebars.helper('imageUrl', function(basename) {
return 'http://lorempixel.com/400/200/' + basename;
});
从模板调用这个助手:
<ul>
{{#each}}
<li><img src={{imageUrl name}}></li>
{{/each}}
</ul>
将输出包装在脚本标签中,而不是输出预期的 url:
...
<li>
<img src="<script" id="metamorph-6-start" type="text/x-placeholder">
http://lorempixel.com/400/200/sport
<script id="metamorph-6-end" type="text/x-placeholder"></script>>
我不希望这个属性成为我模型的一部分,所以我通过用控制器表示每个项目并在这个控制器中定义 imageUrl 来解决这个问题。但这感觉太复杂了:
<ul>
{{#each itemController="myItem"}}
<li><img {{bind-attr src=imageUrl}}></li>
{{/each}}
</ul>
App.MyItemController = Em.ObjectController.extend({
imageUrl: function(){
return 'http://lorempixel.com/400/200/' + this.get('name');
}.property('name');
});
我如何使用助手来完成此任务?