1

在 Ember.js 文档中,它声明您可以将属性绑定到布尔值。但是,当我尝试使用以下任何一种并且值为 false 时,它​​不会应用提供的类名。

<div {{bindAttr class="isEnabled:enabled:disabled"}}> Warning! </div>

<div {{bindAttr class="isEnabled::disabled"}}> Warning! </div>

此功能不再可用吗?

4

1 回答 1

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>​

JSFiddle就在这里

于 2012-10-16T08:56:23.900 回答