Angular 重置搜索变量
Angular resetting search variable
好的,我有以下对象:
$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;
但是有一个问题。一旦我尝试重置它,也就是调用 $scope.search.category_id = null
所有结果消失。
所以它似乎正在搜索 id = 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 {} []
好的,我有以下对象:
$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;
但是有一个问题。一旦我尝试重置它,也就是调用 $scope.search.category_id = null
所有结果消失。
所以它似乎正在搜索 id = 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 {} []