我認爲這將在ng-show
或ng-class
的背景下考慮?還有其他情況嗎?看起來真正的和虛假的不同於純粹的JavaScript稍微有點不同 - 但我目前知道的唯一例外是[]
--這是JavaScript中的真理,但是AngularJS中的虛假。AngularJS中的真假和虛假價值是什麼?
(實際上,我嘗試使用AngularJS 1.2.1和[]
是falsy,而在AngularJS 1.4.8和1.5.0,[]
是truthy見https://jsfiddle.net/6ayaLhbk/,https://jsfiddle.net/6ayaLhbk/1/和https://jsfiddle.net/6ayaLhbk/2/)
我認爲它有一個人可能認爲ng-show="ctrl.foo"
與ng-hide="!ctrl.foo"
相同,但在角1.2.1的情況下,並非如此。在角1.2.1獲得純JavaScript的相同的結果,好像我們可以用ng-show="!!ctrl.foobar"
https://jsfiddle.net/6ayaLhbk/3/
如果是在角1.2.1 ng-class
,那麼現在看來似乎又回到了純JS truthy和falsy規則:https://jsfiddle.net/6ayaLhbk/5/
相關的'[]':https://github.com/angular/angular.js/issues/3969 – Shomz
如果我們能得到一美元每智能化downvoter這裏... – Shomz
嘿,太極者無極而生! :)對不起,有任何誤解,但你說[]是Javascript中的真值? 我有點迷惑,因爲當我測試 '[] == 「」'' [] == 0' '[] == FALSE' 我得到了所有情況下都是這樣。 – ebragaparah