Penso che verrà preso in considerazione nel contesto di ng-show
o ng-class
? Ci sono altre situazioni? Sembra che la verità e il falso siano leggermente diversi dal puro JavaScript, ma l'unica eccezione che conosco finora è []
- che è vero in JavaScript ma falsa in AngularJS.Quali sono i valori di verità e falsi in AngularJS?
(in realtà, ho provato con AngularJS 1.2.1 e []
è falsy, mentre AngularJS 1.4.8 e 1.5.0, []
è truthy. https://jsfiddle.net/6ayaLhbk/ vedere, https://jsfiddle.net/6ayaLhbk/1/ e https://jsfiddle.net/6ayaLhbk/2/)
Credo che abbia una presa che si può pensare ng-show="ctrl.foo"
è la stessa di ng-hide="!ctrl.foo"
ma nel caso di Angular 1.2.1, non lo è. Per ottenere il risultato identico di puro JavaScript angolare 1.2.1, sembra che possiamo usare ng-show="!!ctrl.foobar"
https://jsfiddle.net/6ayaLhbk/3/
Se è ng-class
in angolare 1.2.1, quindi sembra che risale al JS regola truthy e falsy puro : https://jsfiddle.net/6ayaLhbk/5/
correlati a '[]': https://github.com/angular/angular.js/issues/3969 – Shomz
Se siamo riusciti a ottenere un dollaro per ogni downvoter intelligente qui ... – Shomz
Ehi, 太極 者無極 而 生! :) Ci scusiamo per qualsiasi malinteso, ma hai detto che [] è un valore di verità in Javascript? Sono un po 'confuso perché quando prova '[] == ""' ' [] == 0' ' [] == false' ottengo vale per tutti i casi. – ebragaparah