我有一个使用 $resource 的 People 服务,我使用 People.query() 从 PeopleCtrl 调用它以从 json api 获取用户列表。数据返回如下:
[
{
"usr_id" : "1"
"first_name" : "lucky"
"awesome" : "true"
},
{
"usr_id" : "6"
"first_name" : "Adolf"
"awesome" : "false"
}
]
在我的 html 中,我想使用 ng-repeat,并使用该数据进行过滤。这个想法是我有一个用户列表,我想从输入字段中过滤它们。我可以得到基本的工作,但只要我输入“k”,它就会显示所有结果,而不仅仅是那些带有字母“k”的结果。这就是我所拥有的:
<div id="section-body" ng-controller="PeopleSearchCtrl">
<input type="text" ng-model="search.first_name" placeholder="Search Your Name">
<center>
<table ng-show="(filteredData = (People | filter:search)) && search.first_name && search.first_name.length >= 1">
<tr ng-repeat="per in filteredData" ng-click="search.first_name = per.first_name + ' ' + per.last_name">
<td>{{per.per_id}}</td>
<td>{{per.first_name + " " + per.last_name}}</td>
</tr>
</table>
</center>
<button class="btn btn-large btn-primary" type="button">Submit</button>
</div>
但是一旦我尝试输入输入,它就会显示所有用户。键入第二个字母,无变化,键入第三个字母,只显示匹配的记录。删除字符直到只剩下'k',没有记录显示。所以我想知道我怎么做错了。'People' 变量分配给范围,并且是用户的结果数据数组。