如何从 View 本身访问由 ember.js View 插入的 DOM 元素的属性。这是一个简短的例子。假设我有以下 cat.handlebars
模板:
{{#collection contentBinding="App.catsController"}}
<div class="cat" {{bindAttr id="view.content.id"}}></div>
{{/collection}}
在这个 View 中使用:
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.$()
})
this.$()
返回一个嵌套很深的对象,我在其中找不到任何 DIV 的迹象。当我在 didInsertElement
函数中时,也没有定义 view.content.id
。
重申我的问题,当我在 View 中时,我如何添加一些与 View 插入的某些 DOM 元素相关的 Javascript 代码。
最佳答案
您可以使用 {{view.contentIndex}} 代替 {{view.content.id}}。由于您已将类名 cat 添加到您的 div,您可以使用 this.$('#index.cat') 访问它,其中 index 应替换为您要访问的内容的索引。
关于javascript - 从 ember.js View 访问 DOM 元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499921/