AngularJs 复选框难题

标签 angularjs checkbox

我的观点有

<input type="checkbox" class="check_box" ng-model="campaign.paused"  
       ng-click="CampaignPauseClicked(campaign, $event)" />

<p>campaign.paused == {{campaign.paused}}</p>                           

<p>用于调试。它显示false ,正如它应该的那样,给定数据,但在 Controller 中

$scope.CampaignPauseClicked = function(campaign, $event)
{
    campaign.paused = ! campaign.paused;

当我在第一行代码上断点时, campaign.paused 的值是 true (!)。

我搜索了代码并 campaign.paused没有在其他地方写过。

知道这里会发生什么吗?


[更新]我正在使用 ng-click fucntion,我没有完整地展示它,因为我需要它“吞噬” $event并防止其传播给父级。

最佳答案

这是因为当您单击该复选框时,ng-model 正在更新该值。你正在撤销 Angular 为你所做的事情。

如果您想在 $scope.CampaignPauseClicked 函数中自行执行此操作,请从 html 中删除 ng-model 部分。

否则,您可以让 Angular 完成它的工作,保留 ng-model="campaign.paused" 子句,并从 ng-click 中删除第一行打回来。

关于AngularJs 复选框难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36823705/

相关文章:

jquery - ng-repeat 数据加载后如何加载 jQuery 插件指令

javascript - 使 ngDialog 可拖动 AngularJs jQueryUI

html - 多个复选框图像替换 - 仅影响第一行复选框

php - JQuery 选中/取消选中表 php 数组中的所有复选框

angularjs - 如何显示隐藏在导航栏后面的弹出窗口

angularjs - 如何从 Restangular 对象获取 baseUrl(和其他配置设置)?

angularjs - 如何在 angular.js 中使用输入字段制作下拉菜单

c# - 将列表框中的值添加到数据库

javascript - this.id 对于 asp :CheckBox 是空的

javascript - Jquery 使用图像作为复选框