2015-08-09 3 views
0

Хорошо, так у меня есть следующий объект:Угловая сброс

$scope.search = {}; 

это позволяет мне искать с помощью следующих элементов:

<div class="col-md-12" ng-repeat="question in questions | filter:search:strict"> 

Теперь одна из вещей, которые я могу сделать, это установить переменная называется category_id, который затем фильтрует category_id каждого элемента:

$scope.search.category_id = selected.id; 

Однако т вот проблема. после того, как я попытаюсь сбросить его. Вызов AKA $scope.search.category_id = null

Все результаты исчезают.

Похоже, он ищет категории, где id = null, что является ложным в каждом случае.

Так что мой вопрос в том, как мне его сбросить?

ответ

1

Вы должны удалить свойство из объекта, а не устанавливать его в null. Это позволит удалить его из списка в критерии поиска.

delete $scope.search.category_id 

Вы можете увидеть, как это отличается от установки его в null ниже

var a = { hello: 5 } 
console.log(a, Object.keys(a)) // Object {hello: 5} ['hello'] 

a.hello = null 
console.log(a, Object.keys(a)) // Object {hello: null} ['hello'] 

delete a.hello 
console.log(a, Object.keys(a)) // Object {} []