私は立ち往生していますが、これは非常に簡単に答える必要があります...
- エンバー 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');
});
これを達成するためにヘルパーを使用するにはどうすればよいですか?