2013-09-24 17 views
13

EmberJS/Gidon'ları kullanarak, bir öğeye nasıl bir sınıf ekleyebilirim, yalnızca bir koşul doğruysa?Kulplar koşullu sınıf öznitelikleri

<div {{#if isSearching}}class="foo"{{/if}}></div> 

Bunun gibi, ancak daha az sahte kod ve daha fazla gerçeklik.

+0

Bu işe yarıyor. Şablon listesi değişken olarak bir sınıf listesi gönderebilir ve bu şeyi şablonun dışında işlemeyi tercih ederseniz kullanabilirsiniz. Veya özel yardımcı yöntemini kullanabilirsiniz ... Ama gerçekten, sahip olduğunuz şey daha basit bir yol. –

+0

@SimonBoudrias Ama işe yaramıyor. If ifadesinden sonra tüm özelliklerden kaçar. – alt

cevap

5

Bu işe yaramaz, çünkü {{#if}} yardımcıları HTML'nizde etiketler oluşturacaktır. Onun yerine bunu yap:

<div {{bind-attr class="isSearching:foo"}}></div> 
+1

bindAttr, "eski" Ember sözdizimi btw'dir (daha yeni sürümlerde kullanılmaz). –

+0

(yeni sürümünde bind-attr olarak adlandırılmıştır) –

+0

Teşekkürler - Cevabımı – chopper

9

Bir boolean koşulu ile {{bind-attr}} yardımcısı kullanmak zorunda, sen read the guide about this olabilir. isSearching mülkiyet denetleyicisi olup olmadığını görüntüleme durumda

, sadece aşağıdakileri yapabilirsiniz: http://jsfiddle.net/NQKvy/240/

+0

güncelledim. Kılavuz bağlantınız kesildi. – bmavity

46

{{bind-:

<div {{bind-attr class="isSearching:foo"}}></div> 

Bu keman bütün kodunu görebilirsiniz attr}}, deprecated. Yeni çok daha güzel olan bound attribute syntax'u Ember 1.10 ve yukarısındaki gibi kullanabilirsiniz:

<div class="{{if isSearching 'foo'}}"></div>  
+0

Aradığım cevap bu, teşekkürler Adam. –