首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ember JS中为视图使用自定义/动态属性?

如何在Ember JS中为视图使用自定义/动态属性?
EN

Stack Overflow用户
提问于 2013-02-16 13:06:58
回答 1查看 1.4K关注 0票数 4

我的Handlebar文件看起来有点像这样:

代码语言:javascript
复制
{{#each book in view.bookcase}}
  {{view App.BookView classBinding="book.read:read:unread"}}
{{/each}}

我想为book-id="1"或任何当前图书的ID添加一个属性,但我不知道如何添加。如果我试一下这个..。

代码语言:javascript
复制
{{#each book in view.bookcase}}
  {{view App.BookView book-id="book.id" classBinding="book.read:read:unread"}}
{{/each}}

按字面意思将该属性设置为"book.id“。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-16 16:54:18

嗯,一开始我认为根据this postthis post使用attributeBindings是允许的,但当我尝试这样做时,我得到了这个错误:

代码语言:javascript
复制
Uncaught Error: assertion failed: Setting 'attributeBindings' via Handlebars is not allowed. Please subclass Ember.View and set it there instead.

因此,我认为现在最好的方法是在类中执行。

车把模板:

代码语言:javascript
复制
<script type="text/x-handlebars">
    {{#each book in view.bookcase}}
        {{view App.BookView classBinding="book.read:read:unread" contentBinding="book"}}
    {{/each}}
</script>

扩展类:

代码语言:javascript
复制
App.BookView = Ember.View.extend({
    attributeBindings: ['book-id'],
    'book-id': function() {
        return this.content.id;
    }.property('content.id')
});

示例:jsFiddle snippet

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14907164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档