2012-07-11 6 views
5

Jak powiązać klasę z widokiem za pomocą helpera #view, jeśli wartość logiczna ma wartość FALSE?Wyświetl pomocnika: classBinding, jeśli wartość logiczna jest nieprawidłowa

// 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}} 

chcę wiązać is-not-active jako nazwę klasy do widoku, jeśli controller.content.isActive jest fałszywe.

Potrafię wykonać prostą funkcję falownika na widoku, ale jest lepszy sposób.

Odpowiedz

9

UPDATE: Pull Zapytanie zostało połączone, dzięki czemu można dodać klasę dla wartości false jak ten:

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

Jeśli nie chcesz, aby dodać klasę, jeśli wartość jest true , można użyć następującej składni:

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

Chciałbym utworzyć właściwość na widoku (jak już robić z przetwornicy) i wiążą się następująco:

Kierownice:

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

JavaScript:

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

mam stworzyć Pull Request które jeszcze nie zostały scalone ale rozwiązuje ten problem i rozwiązuje go w podobny sposób:

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

Dzięki. Dokładnie to mam na myśli z "falownikiem". Wykorzystam to teraz i mam nadzieję na żądanie Pull. – Lux

Powiązane problemy