在Ember.js文档中,它声明您可以将属性绑定到布尔值。但是,当我尝试使用以下任一项并且值为false时,它不会应用提供的类名。
<div {{bindAttr class="isEnabled:enabled:disabled"}}>
Warning!
</div>
<div {{bindAttr class="isEnabled::disabled"}}>
Warning!
</div>
此功能不再可用吗?
答案 0 :(得分:6)
该功能仍在使用,不会弃用。
如果你不能使它工作,我猜它是因为你猜isEnabled
是视图的属性,但视图渲染上下文已经改变,所以你必须写:
<div {{bindAttr class="view.isEnabled:enabled:disabled">Warning!</div>
我建议你阅读View context changes gist。
代码:
App = Ember.Application.create();
App.FooView = Ember.View.extend({
templateName: "foo-template"
});
模板:
<script type="text/x-handlebars">
The disabled view:
{{view App.FooView isEnabled=false}}
<br />
The enabled view:
{{view App.FooView isEnabled=true}}
</script>
<script type="text/x-handlebars" data-template-name="foo-template">
<span {{bindAttr class="view.isEnabled:enabled:disabled"}}>A div</span>
</script>