Angular 清单模型取消选中也会删除日期

Angular checklist model uncheck removes date too

所以我正在使用一个名为 angular-checklist-model 的插件,它调用一个 ng-repeat,它根据提供的值构建一个数据列表。每个日期都有一个重合的复选框,以允许用户取消选中要提交的值。我遇到的问题是用户取消选中一个框,但该框和日期消失了,而不仅仅是被取消选中。不知道我哪里出了问题。这是我的代码:

控制器提取日期(这也有点像验证日期等。):

$scope.getRecurDates = function() {
    if (!$scope.validateDates()) return;
    console.log('dates are valid')
    if ($scope.editMode) {
        recurDateCrit.recurClaimId = $scope.recurInfo.id;
        recurDateCrit.benefitId = null;
    } else {
        recurDateCrit.benefitId = $scope.recurInfo.benefitId;
        recurDateCrit.recurClaimId = null;
    }
    recurDateCrit.interval = $scope.recurInfo.intervalId;
    recurDateCrit.fromDate = $scope.recurInfo.fromDate;
    recurDateCrit.toDate = $scope.recurInfo.toDate;
    recurService.getRecurDates($scope.transId, recurDateCrit).then(function(results) {
        $scope.recurringDates = results.data;
        $scope.recurInfo.dates = results.data;
        console.log('dates received')
    }, function(response) {
        console.log('error occurred retrieving dates')
        $scope.errMsg = errorService.getAllErrs(response.data);
    });
};

以及我认为创建这个的部分:

<div class="form-group col-md-12 dateArea">
    <p class="input-group" ng-repeat="recurDate in recurringDates">
        <input type="checkbox" name="recurringdate" checklist-model="recurInfo.dates" checklist-value="recurDate">{{ recurDate.date }}
    </p>
</div>

问题是 recurringDatesrecurInfo.dates 都指向同一个 results.data。一个应该是所有选项,另一个应该是选中的选项。

试试这个

$scope.recurringDates = results.data.slice();
$scope.recurInfo.dates = results.data.slice();

我假设 results.data 是一个数组,我使用 slice 创建了一个浅表克隆..