javascript – 从ember.js视图访问DOM元素的属性

如何从视图本身访问由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应该替换为您要访问的内容的索引.

点赞