2012-01-25 15 views
4

Ember.jsハンドルバーヘルパー#eachによって作成された要素のIDを設定するにはどうすればよいですか?#eachヘルパーによって作成された要素のIDを設定する

http://jsfiddle.net/7QL5z/を見れば、#eachヘルパーを呼び出す際にidを定義しようとしました。

結果のHTMLは次のようになります。

<div id="ember191" class="ember-view"> 
    <ul> 
    <li id="ember349" class="ember-view"> Animal - Animals </li> 
    <li id="ember389" class="ember-view"> Android - Androids </li> 
    <li id="ember427" class="ember-view"> Human - Humans </li> 
    </ul> 
</div> 

div要素もUL(つまり、最も使用可能な方法だろう)どちらが指定されたIDを取得します。 それはまったく可能ですか?そうでない場合:Emberを介してこれらの要素にアクセスするにはどうすればよいですか?

答えて

0

あなただけid="whatever"を使用してビューのIDを指定することができますが、それは少しよりエレガントな解決策になるかもしれません{{#each}}

http://jsfiddle.net/tomwhatmore/TJvR6/

では動作しませんが、私はそれがJSに置かれていますフィドルはうまくいくようです。

3

私が代わりに「#each」オン「ID」の「ELEMENTID」を設定しようとしたが、どちらか動作していないようでした...

そうしないと、動物リストビュー

App.AnimalsListView = Ember.CollectionView.extend({ 
    tagName: 'ul', 
    contentBinding: 'App.itemsController.content', 
    classNames: ['animals'], 
    elementId: 'animalsList', 
    itemViewClass: Ember.View.extend({ 
    classNames: ['animal'], 
    templateName: 'ember/templates/animals/animal', 
    elementId:Ember.computed(function(){ 
     'animal-'+this.getPath('content.name') 
    }) 
    }) 
}); 
を作成することができますあなたの動物のテンプレートで

:あなたのメインのHTMLファイル内

{{ content.get('name') }} - {{ content.get('pluralized') }} 

そして最後に

<script type="text/x-handlebars"> 
    {{ view App.AnimalsListView }} 
</script> 
関連する問題