在 Ember.js 文档中,它声明您可以将属性绑定到布尔值。但是,当我尝试使用以下任何一种并且值为 false 时,它不会应用提供的类名。
<div {{bindAttr class="isEnabled:enabled:disabled"}}>
Warning!
</div>
<div {{bindAttr class="isEnabled::disabled"}}>
Warning!
</div>
此功能不再可用吗?
在 Ember.js 文档中,它声明您可以将属性绑定到布尔值。但是,当我尝试使用以下任何一种并且值为 false 时,它不会应用提供的类名。
<div {{bindAttr class="isEnabled:enabled:disabled"}}>
Warning!
</div>
<div {{bindAttr class="isEnabled::disabled"}}>
Warning!
</div>
此功能不再可用吗?
该功能仍然有效,并且未被弃用。
如果你不能让它工作,我猜它是因为你猜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>
JSFiddle就在这里。