2014-05-25 13 views
5

ngIf koşullu olarak DOM'a bir etiket ekler/kaldırır.Angularjs şablonları: Bir etiketin koşullu olarak başka bir etikete nasıl yapıştırılacağı

Ama şartlı bunu yapmanın en açısal yolu nedir başka (örneğin düzeni) tek bir etiket (örn içeriği) sarmak isterseniz? Aşağıda

Ben Gidonu

{{#if layout}} <div class="layout"> {{/if}} 
    Content is always here, it is wrapped only if layout is specified 
{{#if layout}} </div> {{/if}} 
+1

Bence tüm senaryo, bir şeyler yapmanın Açısal yolunun dışında. Emin bir sabit DOM yapısı kullanarak aynı sonucu elde edebilirsiniz. – Hans

+0

Ben çok düşündüm, teşekkürler –

cevap

2

Son hedefinizi burada tam olarak anlayamayabilirim, ancak geçersiz bir html olması gibi görünüyor.

Ne olursa olsun, en iyi seçenekleriniz sizin için html'nizi oluşturan bir yönerge yazmak olacaktır.

Özel yönergeler konusunda rahat değilseniz, daha kolay olan uygulama ngSwitch olacaktır. Varsayılan olarak bir yol ayarlamanıza izin verir, ardından düzenin sarılıp sarılmayacağını belirleyen ifadeye göre diğerine geçersiniz.

Bu tür bir durumda ngSwitch'u kullanmayı sevmediğim tek şey, bir kodun çoğaltılmasını gerektirir. Bu durumda çok az.

Uygulamanız boyunca bunu birkaç kez yapmanız gerekiyorsa, kendi direktifimi yazmak benim düşünceme göre yazabilir.

2

Bu senaryo için, sarma etiketi üzerinde ng-class kullanıyor akla gelen ilk şey bunu yapacağını nasıl. İstediğiniz şeyi tam olarak yapmıyor çünkü sarma etiketi her zaman DOM'de mevcut olacak, ancak CSS'deki davranışınızı koşullarınıza göre değiştirebilirsiniz.

İlgili konular