SORU
17 AĞUSTOS 2012, Cuma


Şablonları bir üçlü

Nasıl AngularJS (şablonları) ile bir üçlü yapmak mı?

Ve denetleyici bir fonksiyon oluşturma çağırmak yerine html öznitelikleri (sınıflar ve stil) bazı kullanmak için iyi olurdu.

CEVAP
28 AĞUSTOS 2012, Salı


Güncelleme: Açısal 1.1.5 ternary operator, artık sadece yazmak bir şey ekledi

<li ng-class="$first ? 'firstRow' : 'nonFirstRow'">

Eğer Açısal önceki bir sürümünü kullanıyorsanız, iki seçenek vardır:

  1. (condition && result_if_true || !condition && result_if_false)
  2. {true: 'result_if_true', false: 'result_if_false'}[condition]

Madde 2. yukarıdaki iki özelliğe sahip bir nesne oluşturur. Dizi sözdizimi adı sahte ya da gerçek adı ile mülkiyet veya özelliği seçin ve ilişkili değer döndürmek için kullanılır.

E. g.,

<li class="{{{true: 'myClass1 myClass2', false: ''}[$first]}}">...</li>
 or
<li ng-class="{true: 'myClass1 myClass2', false: ''}[$first]">...</li>

yukarıdaki sınıf uygulanacağı, yani ilk eleman için doğru içinde ng-repeat bir $ilk 'myClass1' ve 'myClass2' döngü yalnızca ilk kez.

İleng-classdaha kolay bir yolu olsa var: ng-class aşağıdakilerden birini değerlendirilmesi gereken bir ifade alır:

  1. boşluk ile ayrılmış bir sınıf adları bir dize
  2. sınıf adları dizisi
  3. göster/boolean değerleri için sınıf isimleri nesne.

1 örnek) yukarıda verilmiştir. Burada çok daha iyi okur bence 3, örnek:

 <li ng-class="{myClass: $first, anotherClass: $index == 2}">...</li>

Ng-tekrar bir döngü içinde ilk kez, sınıf sınıfım eklenir. 3 saat boyunca ($dizin 0'da başlar), sınıf anotherClass eklenir.

ng-stylealır CSS değerleri için CSS stil adları göster/bir nesne için değerlendirilmesi gereken bir ifade. E. g.,

 <li ng-style="{true: {color: 'red'}, false: {}}[$first]">...</li>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS

    ASUS

    22 EKİM 2005
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011