我在角度/电子应用程序中使用了清单模型,并有以下三个复选框。
两个
USA
加拿大
首先,默认情况下' 美国'如果用户点击了两者'或者' 加拿大' ,我需要检查一个特定的标志,如果标志是假的,我需要提醒用户并避免' 两者'或者' 加拿大'被点击。
<div style="height:115px;background-color:#FBF9EC" class="form-control" >
<label ng-repeat="item in locations" style="width:80%">
<input type="checkbox" checklist-model="locationData.item" checklist-value="item" checklist-before-change="checkListvalidate(item)" ng-change="checkBoxClickFunc(item)" ng-click="locationClick()">
{{item}}
</label>
</div>
In the controller:
$scope.locationClick = function(){
if(!myFlag){
return false;
}
};
核对表 - 更改前的规范说明
每次检查清单模型更改之前评估的角度表达式。如果它评估为“假”&#39;然后模型将不再改变。
我做错了什么......
答案 0 :(得分:0)
在checkbox输入中有很多侦听器:
checklist-before-change="checkListvalidate(item)"
ng-change="checkBoxClickFunc(item)"
ng-click="locationClick()"
我认为这些对于满足您的需求来说太过分了,而且它使逻辑的理解变得复杂,并且可能产生副作用。
为什么不仅使用checklist-before-change
指令并在其中调用locationClick()
?我认为这应该足够了。
这是一个例子:
<body ng-controller="MainCtrl">
<div style="height:115px;background-color:#FBF9EC" class="form-control" >
<label ng-repeat="item in locations" style="width:80%">
<input type="checkbox" checklist-model="locationData.item"
checklist-value="item" checklist-before-change="checkListvalidate(item)" >
{{item}}
</label>
</div>
</body>