2013-01-04 19 views

Odpowiedz

8

Nie wierzę kierownica obsługuje wiele elementów w {{#if}} rachunku (related: Logical operator in a handlebars.js {{#if}} conditional).

Można zwinąć wiele wartości w kontrolerze/widoku w jedną obliczoną właściwość i sprawdzić tę pojedynczą wartość w szablonie. Ten nowy obiekt wyliczona zostanie zaktualizowany, gdy jeden z oryginalnej aktualizacji wartości:

App.ValuesTestController = Ember.Controller.extend({ 
    value1: false, 
    value2: true, 
    value1and2: function(){ 
      return this.get('value1') && this.get('value2'); 
    }.property('value1', 'value2') 
}); 

Szablon będzie wyglądać następująco:

<div>{{#if value1 }}value 1 true{{/if}}</div> 
<div>{{#if value2 }}value 2 true{{/if}}</div> 
<div>{{#if value1and2 }}value 1 and 2 true{{/if}}</div> 
3

Nawet jeśli @CraigTeegarden's answer jest elegancki jeden, Znalazłem kilka przypadków, w których to obejście ułatwiło mi życie i dzięki temu stałem się szczęśliwszy:

{{#if person}} 
    {{#if work}} 
    Yeah! 
    {{/if}} 
{{/if}} 
Powiązane problemy