2012-07-11 57 views
5

如何使用#view helper綁定類到視圖,如果布爾值爲FALSE?查看幫助:classBinding如果布爾值爲假

// 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是假的。

我可以在視圖上做一個簡單的逆變器功能,但我有一個更好的方法。

回答

9

UPDATE:拉請求已被合併,因此您可以爲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') 
}); 

我已經創造出尚未合併一個Pull Request但它解決了這個問題,並將解決它類似於此:

{{#view App.MyView controllerBinding="this" 
    classBinding="controller.content.isActive:is-active:is-not-active"}} 
    <div>test</div> 
{{/view}} 
+0

謝謝。這正是我所說的「逆變器」的意思。我現在將使用它並希望收到請求。 – Lux 2012-07-11 11:57:32