假设您有以下对象:
var user: {firstname: 'Marc', lastname:'Ras', age:30};
在一个名为user_array
现在您希望将它们显示在表格中,以便创建表格:
<table>
<thead>
<th>Full name</th>
<th>Age</th>
</thead>
<tbody>
<tr ng-repeat="user in user_array">
<td>{{user.firstname + ' '+user.lastname}}</td>
<td>{{user.age}}</td>
</tr>
</tbody>
</table>
现在,您希望创建一个输入字段,您可以在其中搜索用户的全名:
这对我来说有点结束:S怎么可能搜索组合键?通常你会:
<input type="text" ng-model="search.fieldname" />
但是你不能在这里这样做,因为该字段由两个fieldnames
组合而成?
答案 0 :(得分:1)
将此添加到您的控制器
$scope.filterNameLastName = function (user) {
var fullname = user.firstname + ' '+ user.lastname;
if(fullname == $scope.searchParamater)
return true;
else
return false;
};
并将过滤器添加到ng-repeat
<table>
<thead>
<th>Full name</th>
<th>Age</th>
</thead>
<tbody>
<tr ng-repeat="user in user_array | filter:filterNameLastName ">
<td>{{user.firstname + ' '+user.lastname}}</td>
<td>{{user.age}}</td>
</tr>
</tbody>
</table>
这可以让您了解自定义过滤器的工作原理。我还没有对代码进行测试,因此您可能需要进行一些修改。