如何在AngularJS中预过滤搜索

时间:2015-05-22 15:22:14

标签: angularjs angularjs-scope

我有一个显示一堆项目的页面,我有一个侧边栏,其中包含一些选项和一个搜索字段,用于过滤显示的项目。 它工作正常,但现在我必须创建一个搜索结果页面。

客户端使用查询字符串到达​​搜索结果页面?s = something 我通过这样做得到了搜索查询:

$scope.searchTerm = $location.search().s;

所以我认为如果我将搜索字段(过滤结果)值设置为{{searchTerm}},那就可以解决问题,但我错了。

搜索字段显示查询字符串,但不会过滤。

想象一下,我有一个名为 product x 的产品,我的搜索查询是 venus 。所有产品仍在展示中。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果你有类似的输入:

<input type="text" ng-model="dataFilter" class="form-control">

然后你的重复需要将ng-model作为过滤器包括在内:

ng-repeat="user in dataSet | filter: dataFilter"

然后只需将您想要的过滤器分配给搜索过滤器的$ scope变量,在本例中为$ scope.dataFilter。

这是我为你准备的一个例子: http://plnkr.co/edit/isYfL6mVLPusc94mivGA?p=preview