Bunu yapmak istiyorum:
ng-hide="!globals.isAdmin && mapping.is_default"
ancak ifade her zaman olarak değerlendirilir false
.
Üzerinde özel fonksiyon tanımlamak istemiyorum $scope
.
Bunu yapmak istiyorum:
ng-hide="!globals.isAdmin && mapping.is_default"
ancak ifade her zaman olarak değerlendirilir false
.
Üzerinde özel fonksiyon tanımlamak istemiyorum $scope
.
Yanıtlar:
Rasgele JavaScript kodu çalıştırmanız gerekiyorsa veya doğru veya yanlış döndüren bir filtre tanımlayabiliyorsanız bir denetleyici yöntemi kullanın.
Sadece test ettim (bunu önce yapmalıydım) ve ng-show="!a && b"
beklendiği gibi çalıştı.
ng-show
/ ng-hide
yalnızca boolean
değerleri kabul eder .
Karmaşık ifadeler için, komplikasyonları önlemek için kontrolör ve kapsam kullanmak iyidir.
Birinin altında çalışacak (Çok karmaşık bir ifade değil)
ng-show="User=='admin' || User=='teacher'"
İki koşuldan herhangi biri doğru (VEYA işlemi) döndüğünde burada eleman kullanıcı arayüzünde gösterilir.
Bunun gibi herhangi bir ifadeyi kullanabilirsiniz.
Çok fazla ifadeniz yoksa bu işe yarar.
Misal: ng-show="form.type === 'Limited Company' || form.type === 'Limited Partnership'"
Bundan daha fazla ifade için bir denetleyici kullanın.
This will work if you do not have too many expressions.
bunun yerine denetleyicide yapılması gerektiğini kabul ediyorum.
Genellikle koşullu değil boolean olarak tasarlandıkları için ng-show ve ng-hide ifadelerinden kaçınmaya çalışırım. Hem koşullu hem de boolean mantığa ihtiyacım varsa, ilk kontrol olarak ng-if kullanarak koşullu mantığı koymayı tercih ederim, sonra ng-show ve ng-hide ile boole mantığı için ek bir kontrol ekleyin.
Howerver, ng-show veya ng-hide için bir koşullu kullanmak istiyorsanız, işte bazı örneklerle bir bağlantı: ng-if, ng-show, ng-hide, ng-include, ng-switch kullanan Koşullu Ekran
Yukarıdaki cevaplardan bazıları benim için işe yaramadı ama bu işe yaradı. Bir başkası aynı sorunu yaşıyorsa.
ng-show="column != 'vendorid' && column !='billingMonth'"
false
, bu değerleri tekrar kontrol etmek isteyebilirsiniz. "Globals" ve / veya "mapping" nesnelerinin olması mümkündürundefined