这是否已在Ember.js中弃用?

时间:2012-10-16 08:47:23

标签: ember.js

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

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

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

此功能不再可用吗?

1 个答案:

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

the JSFiddle is here