这对我来说似乎很奇怪。我正在过滤一组对象,如下面的示例。
{
"queried": false,
},
{
"queried": true,
}
我正在使用ng-repeat和过滤器。
ng-repeat="message in messages | filter:{queried:true} ">
当我将过滤器设置为查询时:true我得到了查询过的对象:true。
但是,如果我将过滤器设置为查询:false我得到所有对象。
查询的结果相同:!true
答案 0 :(得分:1)
你确定请看那个演示
var app = angular.module('app', []);
app.controller('firstCtrl', function($scope) {
$scope.messages = [{
"queried": false,
}, {
"queried": true,
}];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="app">
<input type="radio" ng-model="enable" ng-value="false">False
<input type="radio" ng-model="enable" ng-value="true">True
<br/>
<hr/>
<div ng-controller="firstCtrl">
<li ng-repeat="message in messages | filter:{queried:enable} ">{{message}}</li>
</div>
</body>
答案 1 :(得分:0)
我把一个小伙子放在一起,它似乎对我有用。确保使用正确的角度版本。
function HelloCntl($scope) {
$scope.messages = [{'queried':true}, {'queried':true},{'queried':false}, {'queried':false},{'queried':true}];
这是视图
<div ng:app="myApp">
<div ng-controller="HelloCntl">
<p> True results:</p>
<div ng:repeat="message in messages | filter:{queried:true} ">
{{message.queried}}
</div>
<br/>
<p> True results:</p>
<div ng:repeat="message in messages | filter:{queried:false} ">
{{message.queried}}
</div>
</div>
</div>