【发布时间】:2015-06-23 07:26:32
【问题描述】:
我对 Angular 还是很陌生。我正在尝试向我的控制器添加一个过滤器参数,该参数将按字母顺序按单词中的每个字母过滤搜索。所以想象我的数据包含以下词:马、橙子、终结者、摩托罗拉、花卉、骨科。当我在搜索引擎中搜索“或”时,所有单词都会出现在结果中,因为它们都包含“或”。相反,我想要一个过滤器,以严格的字母顺序过滤我的数据,这样我只会得到“橙子”和“骨科”
这是我在控制器中的当前过滤器:
$scope.activateFilter = function(textBoxValue) {
$scope.$apply(function() {
if ( textBoxValue=="") {
$scope.pages = FacebookPage.userPages;
} else {
$scope.pages=$filter('filter')($scope.pages,{name:textBoxValue});
}
});
};
这是过滤的 HTML,以防有帮助:
<div id="searchEngineController" ng-controller="SearchEngineController">
<ul class="rig">
<li ng-repeat="page in pages">
<a ng-click="pageClick($index)">
<img src= "{{page.image}}" class="img-responsive img-circle" height="140" width="240">
<p style="font-size:25px; text-align:center">{{page.name}}<p>
</a>
</li>
</ul>
</div>
还有我的 JS 函数:
pagesSearchBar.pageValueDidChange = function(value) {
angular.element(document.getElementById('searchEngineController')).scope().activateFilter(value);
};
谢谢!
【问题讨论】:
标签: javascript angularjs angular-filters