event.target.checked 属性 不适用于复选框

event.target.checked property is not working for checkbox

我有一些输入 checkbox 是在 ng-repeat

中创建的
<li ng-repeat="item in tasks track by $index">
    <input type="checkbox" ng-init="setChecked(item.status)"
           ng-checked="changeStatus(item.id)"
           ng-model="item.status" value="{{item.id}}">
    <span ng-model="item.title" ng-keyup="completeEdit(item.id)"
          contenteditable="false" ng-dblclick="contentEdit()"
          class="done-{{item.status}}">{{ item.title }}
     </span> 
</li> 

我想要实现的是,基于数据项 属性 复选框应显示为已选中或未选中。为此,我正在使用复选框的 ng-init。下面是我在 ng-init

中调用的函数
$scope.setChecked = function(status) {
    event.target.checked = status;            
};

但问题是上面的函数没有改变复选框。即使 statustrue

,该复选框也始终显示为未选中

谁能告诉我上面的代码哪里做错了?

感谢任何帮助:)

要选中或取消选中复选框,我应该使用 ng-checked 并使用 ng-change 更新状态。这为我解决了问题。

<input type="checkbox" ng-change="changeStatus(item.id)"
       ng-checked="item.status" ng-model="item.status"
       value="{{item.id}}">