Я взял проект, используя Angularjs. Существует система фильтрации. На самом деле, щелкните по категории , добавьте эту категорию в список. Показаны все отрасли, получившие эту категорию. Обратите внимание, что щелчок по уже выбранной категории удаляет эту категорию.Пустой массив перед нажатием
Я бы хотел щелкнуть , заменив категорию фильтрации, чтобы каждый клик не добавлял категорию. Как я должен изменить этот код:
$scope.changerCategorie = function(category , name){
if(jQuery.inArray(category, $scope.selected) !== -1)
{
angular.forEach($scope.selected , function(obj,index){
if(category == obj){
$scope.selected.splice(index,1);
$scope.selected_name.splice(index,1);
}
});
}else{
$scope.selected.push(category);
$scope.selected_name.push(name);
}
$scope.selected_filter = $scope.selected.join(', ');
}
Я попытался это, но он не работает
$scope.changerCategorie = function(category , name){
$scope.selected = 0;
$scope.selected_name = 0;
$scope.selected = category;
$scope.selected_name = name;
$scope.selected_filter = $scope.selected.join(', ');
}
и я получаю
$scope.selected.join is not a function
Если удалить строку, связанную с selected.join Я получил еще одну ошибку после двух кликов:
Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: tags in selected_name, Duplicate key: string:l
Как мне это сделать?