Checklist-model не проверяет флажок для объекта, включенного в массив - PullRequest
0 голосов
/ 27 июня 2019

Я прошу прощения, если это глупый вопрос, так как я все еще новичок в Angular. У меня есть приложение, в котором пользователь может выбирать элементы с помощью флажков. Выбранные элементы будут заполнены в списке, и мы хотим, чтобы, если они сохранили свои выборы, флажки, которые они отмечали, будут проверены для них при следующем возвращении на страницу. Однако в данный момент включенный мной тестовый объект не устанавливает соответствующий флажок, и хотя он отображается в списке, куда будут помещаться отмеченные элементы, я не уверен, как заставить функцию переключателя быть в курсе какие объекты уже есть в массиве, чтобы переключать их.

$recordset = [
    {"id":"01","":["entry1","entry2"],"cluster_id":"A","title":"Title1"},
    {"id":"02","":["entry1","entry2"],"cluster_id":"B","title":"Title2"},
    {"id":"03","":["entry1","entry2"],"cluster_id":"C","title":"Title3"}
]
$scope.totalAllowed = 35;
$scope.selected = {
    savedItems: [{"id":"01","":["entry1","entry2"],"cluster_id":"A","title":"Title1"}]
};
$scope.totalSelected = $scope.selected.savedItems.length;


$scope.toggleSelection = function(item) {
    var idx = $scope.selected.savedItem.indexOf(item);

    if (idx > -1) {
        $scope.selected.savedItems.splice(idx, 1);
        $scope.totalSelected--;
    }
    else {
        $scope.selected.savedItems.push(item);
        $scope.totalSelected++;
    }
}

А в угловых

<ul class="form_list">
    <li ng-repeat="item in recordset[$index]">
       <input type="checkbox" data-checklist-model="selected.savedItems" 
              data-checklist-value="item" ng-click="toggleSelection(item)">
       <label for="{{item.id}}"><b>{{item.title}}</b></label>
    </li>
</ul>
...