如何从视图本身访问由ember.js视图插入的DOM元素的属性.这是一个简短的例子.让我们说我有以下cat.handlebars模板:
{{#collection contentBinding="App.catsController"}}
<div class="cat" {{bindAttr id="view.content.id"}}></div>
{{/collection}}
在此视图中使用:
App.CatView = Ember.View.extend({
templateName: 'cat',
catsBinding: 'App.catsController',
didInsertElement: () ->
#need to get the id of each DIV that is being inserted to add some JavaScript for it
console.log 'context it ', this.$()
})
这个.$()返回一个非常深层嵌套的对象,我找不到任何我的DIV的迹象.当我在didInsertElement函数中时,也没有定义view.content.id.
重申我的问题,当我在视图中时,如何添加一些与视图插入的DOM元素相关的Javascript代码.
最佳答案 您可以使用{{view.contentIndex}}代替{{view.content.id}}.由于您已经在div中添加了一个classname cat,因此可以使用它来访问它.$(‘#index.cat’),其中index应该替换为您要访问的内容的索引.