2012-10-16 61 views
1

在Ember.js文档中,它声明可以将属性绑定到布尔值。但是,当我尝试使用下面的任何一个,并且该值为false时,它不会应用所提供的类名称。这在Ember.js中已被弃用吗?

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

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

是此功能不再可用?

回答

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