Javascript EmberJS在把手模板中添加动态数据属性

Javascript EmberJS在把手模板中添加动态数据属性,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我有一个把手模板,一个相关的视图和一个相关的控制器。模板只是在对象数组上循环,并呈现div列表。我需要为每个div添加一个数据项目id属性(id是模型中对象的属性) {{{#模型中的每个项目} //做点什么 {{/每个}} App.ProjectsView=Ember.View.extend({ templateName:'项目', 属性索引:['data-project-id'], “数据项目id”:函数(){ 返回此.content.Id; }.property('content.id')

我有一个把手模板,一个相关的视图和一个相关的控制器。模板只是在对象数组上循环,并呈现div列表。我需要为每个div添加一个数据项目id属性(id是模型中对象的属性)


{{{#模型中的每个项目}
//做点什么
{{/每个}}
App.ProjectsView=Ember.View.extend({
templateName:'项目',
属性索引:['data-project-id'],
“数据项目id”:函数(){
返回此.content.Id;
}.property('content.id')
} 

但是,视图中的“内容”当前未定义。添加此动态属性的最佳方法是什么?

您可以使用
bind attr
将数据属性绑定到模型属性:

{{#each project in model}}
    <div {{bind-attr data-projet-id='project.Id'}}>
        // Do something
    </div>
{{/each}}
{{{#模型中的每个项目}
//做点什么
{{/每个}}

哈哈,我甚至没有尝试使用bind attr helper,因为您上面提到的同一页上写着“默认情况下,视图帮助程序不接受数据属性”。我的错误。有些示例使用templateName属性引用视图对象中的模板,而有些示例使用“视图”帮助器。两者是否相似?我看到了几个示例,其中使用“内容”属性在视图中访问模型,但对我来说,它返回未定义的。视图帮助器不接受数据绑定但是您应该能够绑定到div,如我的示例代码所示。
{{#each project in model}}
    <div {{bind-attr data-projet-id='project.Id'}}>
        // Do something
    </div>
{{/each}}