我的觀點有AngularJs複選框難題
<input type="checkbox" class="check_box" ng-model="campaign.paused"
ng-click="CampaignPauseClicked(campaign, $event)" />
<p>campaign.paused == {{campaign.paused}}</p>
與<p>
是進行調試。它顯示false
,因爲它shoudl,給出的數據,但在控制器
$scope.CampaignPauseClicked = function(campaign, $event)
{
campaign.paused = ! campaign.paused;
當我斷點第一行代碼中,campaign.paused
值true
(!)。
我已經搜索了代碼並且campaign.paused
沒有被寫入其他地方。
任何想法可能發生在這裏?
[更新]我使用的是ng-click
溫控功能,我還沒有在條款內容顯示,因爲我需要它「吞噬」的$event
並防止其propogating父。
因爲你在做'campaign.paused =! campaign.paused;'它正常的'campaign.paused'是真的 – Akis
我很抱歉,但我不明白你的評論(我的壞)。該聲明應該切換當前值。你看到有一些錯誤嗎? – Mawg
其簡單。當你點擊複選框時,你的模型'ng-model =「campaign.paused」'得到'true'的值,這是由於Angular自動完成的。你在代碼中做的是反轉,並且在複選框沒有被點擊時爲真,當它爲真時爲false。看起來您需要閱讀ng-model指令https://docs.angularjs.org/api/ng/directive/ngModel – Akis