我有一个像这样的对象数组:
在HTML中我写道:
<input ng-model="search.modelName" />
<div class="market-slot col-xs-5 col-xm-5 col-md-5 col-lg-3" ng-repeat="item in items | filter:search" ng-show="item.model != false">
当我输入一些输入时,它不适用于过滤...
UPD:
来自JSON的输入由$ http.post
获得输出如下:
你可以看到我是#34; Manana&#34;在输入中,只有具有&#34; modelName == Manana&#34;应该显示。
答案 0 :(得分:0)
在ng docs的例子中说明:
https://docs.angularjs.org/api/ng/filter/filter
以下内容应该有效
<input ng-model="searchText" />
<div ng-repeat="item in items | filter:searchText" ng-if="item.model != false">
在文档中有更多示例,您可以在其中定义要搜索的模型的严格程度和关键字
以下声明适用于您的应用:
search.$
(过滤模型中的任何适用密钥)search.modelName
(在模型中过滤 modelName 键,如果已声明)答案 1 :(得分:0)
我在这里为你做了一个样本link
HTML来源
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="App">
<div ng-controller="Ctrl">
<input type="text" ng-model="search.modelName" />
<ul>
<li ng-repeat="item in items | filter:search" ng-show="item.model != false">
<pre>
{{item}}
</pre>
</li>
</ul>
</div>
</body>
</html>
Javascript script.js代码
angular.module('App',[])
.controller('Ctrl', function($scope){
$scope.items = [
{
model : true,
modelName : 'FirstModel',
owner : 'Owner1'
},
{
model : true,
modelName : 'SecondModel',
owner : 'Owner2'
},
{
model : false,
modelName : 'ThirdModel',
owner : 'Owner3'
}
];
});