AngularJS ngClass koşullu
Orada herhangi bir şey için bir ifade yapmak için bir koşullu olmak ngClass gibi. Örneğin, aşağıdaki denedim:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
Bu kod ile sorun ne olursa olsun n.değer1, sınıf test her zaman elemanı uygulanır. Bu işi yapmaya
<span ng-class="{test: obj.value2}">test</span>
Sürece n.değer2 truthy bir değere eşit değil, uygulanan değil, sınıf. Şimdi bunu yaparak ilk örnekte bu soruna geçici bir çözüm bulmak istiyorum
<span ng-class="{test: checkValue1()}">test</span>
checkValue1 işlevi bu gibi görünüyor:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
Sadece bu ngClass çalışmak gerekiyordu nasıl olduğunu merak ediyorum. Ayrıca buna benzer bir şey yapmak istiyorum özel bir yönerge yapıyorum. Ancak bir ifade (ve belki de bu gibi işleri neden imkansız ve nedeni) izlemek için bir yol bulamıyorum.
Burada ne demek istediğimi göstermek için bir plnkr:
CEVAP
İlk denemen tırnak işaretleri olmadan çalışması gerekir neredeyse.
{test: obj.value1 == 'someothervalue'}
Burada plnkr.
NgClass yönergesi truthy veya falsey, biraz Javascript ifadeleri benzer değerlendirir bir ifade ile çalışır, ama bazı farklılıklar ile, herehakkında okuyabilirsiniz. Eğer koşullu çok karmaşık ise, o zaman üçüncü denemede yaptığın gibi truthy veya falsey döndüren bir işlev kullanabilirsiniz.
Sadece tamamlamak için: ayrıca mantıksal operatörler gibi mantıksal ifadeler forma kullanabilirsiniz
ng-class="{'test': obj.value1 == 'someothervalue' || obj.value2 == 'somethingelse'}"
Nasıl koşullu olarak AngularJS CSS sti...
Koşullu ng vardır angularjs içinde...
AngularJS koşullu mantık şablonu...
Nasıl koşullu olarak AngularJS form gi...
AngularJS : Ekle HTML içine görüntülem...