您可以使用来按电话的任何属性进行<input ng-model="search">搜索,也可以使用来按名称进行搜索<input ng- model="search.name">,然后按名称对结果进行适当过滤(按预期方式输入电话号码不会返回任何结果)。
<input ng-model="search">
<input ng- model="search.name">
比方说,我有一个“名称”属性,“电话”属性,一个“秘密”性质的模型,我怎么会去通过过滤 都 在“名称”和“电话”属性和 没有 “秘密”属性?因此,从本质上讲,用户可以键入姓名或电话号码,并且ng- repeat可以正确过滤,但是即使用户键入的值等于“秘密”值的一部分,也不会返回任何内容。
ng- repeat
谢谢。
这是the 子
新的代码更整洁的代码,查询和搜索列表项都不区分大小写
主要思想是创建一个过滤器功能来实现此目的。
来自官方文件
函数:谓词函数可用于编写任意过滤器。为数组的每个元素调用该函数。最终结果是谓词为其返回true的那些元素的数组。
<input ng-model="query"> <tr ng-repeat="smartphone in smartphones | filter: search "> $scope.search = function(item) { if (!$scope.query || (item.brand.toLowerCase().indexOf($scope.query) != -1) || (item.model.toLowerCase().indexOf($scope.query.toLowerCase()) != -1) ){ return true; } return false; };
更新资料
有些人可能对现实世界中的性能有所顾虑,这是正确的。
在现实世界中,我们可能会从控制器中进行这种过滤。
这是显示如何做的详细信息。
简而言之,我们添加ng-change了用于监视新搜索变化的输入
ng-change
然后触发过滤功能。