我在jsfiddle中有一个代码。我在angularjs中使用普通的构建过滤器服务。但我需要一个自定义过滤器服务,其行为与普通过滤器完全相同。我必须使用自定义过滤器,因为在过滤后我必须做一些自定义操作。我的jsfiddle链接
https://jsfiddle.net/subhajitmaity/jzpmg1um/3/
请仔细阅读链接。
<div ng-app="app" ng-controller='AppCtrl'>
<input type="text" ng-model="search">
<script type="text/ng-template" id="categoryTree">
{{ category.title }}
<ul ng-if="category.categories">
<li ng-repeat="category in category.categories | filter:search" ng-include="'categoryTree'">
</li>
</ul>
</script>
<ul>
<li ng-repeat="category in categories | filter:search" ng-include="'categoryTree'"></li>
</ul>
</div>
答案 0 :(得分:0)
您可以从此自定义过滤器开始:
Options:
domain-name = example.com
domain-name-servers = AmazonProvidedDNS
用法:的
app.filter('myfilter', function() {
return function( items, search) {
var filtered = [];
if(!search){
return items;
}
angular.forEach(items, function(item){
if(item.title.toLowerCase().indexOf(search.toLowerCase()) !== -1){
filtered.push(item);
}
})
return filtered;
};
});
问题仍然存在:如果其中一个子项包含| myfilter:search
true