5

如果布尔值为 FALSE,我如何使用 #view 助手将类绑定到视图?

// this is working
{{#view App.MyView controllerBinding="this" classBinding="controller.content.isActive"}}
    <div>test</div>
{{/view}}

// and this is what i want:
{{#view App.MyView controllerBinding="this" classBinding="!controller.content.isActive:is-not-active"}}
    <div>test</div>
{{/view}}

如果为假,我想is-not-active作为类名绑定到视图。controller.content.isActive

我可以在视图上制作一个简单的逆变器功能,但我有更好的方法。

4

1 回答 1

9

更新:拉取请求已被合并,因此您可以为这样的false值添加一个类:

{{#view App.MyView controllerBinding="this"
   classBinding="controller.content.isActive:is-active:is-not-active"}}
{{/view}}

如果值是 不想添加类true,可以使用以下语法:

{{#view App.MyView controllerBinding="this"
   classBinding="controller.content.isActive::is-not-active"}}
{{/view}}

我会在视图上创建一个属性(就像你已经对你的逆变器所做的那样)并绑定到这个:

车把

{{#view App.MyView controllerBinding="this" classBinding="isNotActive"}}
    <div>test</div>
{{/view}}

JavaScript

App.MyView = Ember.View.extend({
    isNotActive: Ember.Binding.not('controller.content.isActive')
});

我创建了一个尚未合并的拉取请求,但它解决了这个问题,并会像这样解决它:

{{#view App.MyView controllerBinding="this"
   classBinding="controller.content.isActive:is-active:is-not-active"}}
    <div>test</div>
{{/view}}
于 2012-07-11T09:40:58.810 回答