每当用户更改复选框的状态时,我想触发 ng-change 。这是我的代码:
<div ng-class=" food.status == 1 ? 'text-success' : 'text-danger'" class="pull-left m-t-sm ">
<i class="fa fa-circle"></i>
<label class="md-switch">
--{{ food.status }}
**{{ food.enableFood }}
<input type="checkbox" ng-checked="food.enableFood" ng-model="food.status" ng-change="changeFoodStatus(food.status , food.id)">
<i class="blue"></i>
</label>
</div>
这是我的角色功能:
$scope.changeFoodStatus = function (status , id) {
console.log(status,id);
var foodStatus = 1 ;
if(!status) {
foodStatus = 2;
}
console.log(foodStatus , id);
var foodData = {
foodStatus : foodStatus,
foodId : id
};
Gateway.put( foodData , '/food/changeFoodStatus',function (response) {
console.log(response);
});
}
这是我的初始输出:
它在第一次之后就像一个魅力,实际上,当 food.enableFood 为真时,它不会在第一时间起作用。 ng-change
无法解雇。
如何解决?
答案 0 :(得分:-1)
我已将html更改为:
<div ng-class=" food.status == 1 ? 'text-success' : 'text-danger'" class="pull-left m-t-sm ">
<i class="fa fa-circle"></i>
<label class="md-switch">
<input type="checkbox" ng-true-value="1" ng-false-value="2" ng-model="food.status" ng-change="changeFoodStatus(food.status , food.id)">
<i class="blue"></i>
</label>
</div>
P.S。谢谢@holtc。