如何设置由Ember.js handelbars帮助器创建的元素的id #each?
如果你看一下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 :(得分:3)
我尝试在'#each'上设置'elementId'而不是'id',但它似乎也不起作用......
否则您可以创建动物列表视图
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')
})
})
});
在动物模板中:
{{ content.get('name') }} - {{ content.get('pluralized') }}
最后在你的主html文件中
<script type="text/x-handlebars">
{{ view App.AnimalsListView }}
</script>
答案 1 :(得分:0)
您只能使用id="whatever"
在视图上指定ID,但它不适用于{{#each}}
http://jsfiddle.net/tomwhatmore/TJvR6/
可能是一个稍微优雅的解决方案,但我在js小提琴中放入的东西似乎有效。