我有一个HTML输入复选框字段,如下所示:
<input type="checkbox" ng-change="itemChecked()"> Happy
我的Amgular 1.x代码是这样的:
$scope.itemChecked = function(){
// do something if checked
// Eg: I have a google map and when this function is called,
// it loads marker and adds businesses name.
// return to original state when unchecked
// Eg: When checked, it loads business in Google Map,
// but when unchecked, its supposed to remove marker
// points from google maps, as if the page loaded
};
我能够:
//做一些事情,如果选中
但我无法恢复原状状态。
我该怎么做?
仅供参考:将有多个复选框,因此刷新页面无法正常工作。
答案 0 :(得分:0)
您可以在函数内部传递参数并相应地编写逻辑,
<input type="checkbox" ng-change="itemChecked(whatevervariable)">
在控制器中
$scope.itemChecked = function(variable){
if(variable)
{
//do this logic
}
else
{
//revert the logic
}
};
<强> DEMO 强>
答案 1 :(得分:0)
将ng-model添加到您的输入并在您的更改功能中检查其值
<input type="checkbox" ng-model="checked" ng-change="itemChecked()">
$scope.itemChecked = function(){
if($scope.checked == true){
// do something if checked
}
else{
// return to original state
}
};