将复选框绑定到模型并 check/unchecking 它在 Angular

Binding checkbox to model and check/unchecking it in Angular

我有以下 HTML:

<li ng-repeat="test in lists.Tests">
    <label>
        <input type="checkbox" id="cbxAcceptTest" ng-checked="{{test.IsAccepted}}"  ng-click="testSelection($event,{{test}})" />
    </label>
</li>

和 testSelection 方法为:

$scope.testSelection = function ($event, test) {
    if (test.IsAccepted) {
        alert('accept');
    }
    else {
        alert('reject');
    }

};

我无法在 ngClick 上触发此方法,它适用于 ngChecked,但后来我必须使用 ngModel,我在下面阅读过它与 ngChecked 不兼容 link

在我的例子中,我有这样的东西:

<li ng-repeat="item in items">
    <label>
        <input type="checkbox" ng-model="item.auto" ng-click="onAutoClick(item)" />
    </label>
</li>

在我的控制器中:

$scope.onAutoClick = function(item) {
  if(item.auto){
     // checked (true condition)
  } else  {
     // unchecked ( false condition)
  }

};

将测试作为参数传递时,只需删除围绕测试的大括号即可。

请检查此 Plnkr

在 HTML 中,您需要删除花括号

  <li ng-repeat="test in lists.Tests">
    <label>
        <input type="checkbox" id="cbxAcceptTest" ng-checked="{{test.IsAccepted}}"  ng-click="testSelection(test)" />
    </label>