不知何故,通過Angular的魔力,如果您使用ng-model
併爲其提供布爾值,那麼將檢查您的複選框,如果所述布爾值爲true,並且如果爲false,則選中未選中。AngularJS:反向複選框狀態
<input type="checkbox" ng-model="video.hidden">
雖然僅憑這一點是相當令人費解,實際上,我試圖扭轉的選中狀態,因爲與待辦事項例子todo.done
意味着盒子被選中,我的模式更像是todo.incomplete
。
不幸的是我第一次的猜測沒有工作:
<input type="checkbox" ng-model="!video.hidden">
我在該模型已經向我口述的位置,所以我不能改變它,不希望有在客戶端進行按摩(因爲我將客戶端對象發送回服務器,因爲它在可信賴的環境中運行)。
更新
這個工作在1.3和不給你字符串(1.2.xxx給你的字符串,而不是布爾值):
<input type="checkbox" ng-model="video.hidden" ng-true-value="false" ng-false-value="true">
或者只是使用你用來描述你的模型無論詞的否定:video.shown:?或者在您的控制器中使用一個函數來設置複選框被選中時另一個模型的值......在我看來,這不是一個真正的問題。 – mpm
@camus我說的最後一件事是我不想改變模型,我不應該這樣做。當然,這不是一個真正的問題,但是當一個框架鼓吹易用性時,沒有理由爲什麼我的第一個猜測不應該工作。 – Langdon
使用函數不會改變模型,但會向控制器添加一個函數。沒有框架是一顆銀彈。但是這個很容易擴展,這就是你必須要做的,寫指令。 – mpm