Angularjs 如何在指令内部移动筛选器函数?

Angularjs 如何在指令内部移动筛选器函数?,angularjs,Angularjs,所以我有一个定制的过滤器,它看起来像这样: .filter('iwSearch', function() { return function(items, term) { if (term !== undefined) { var newTerm = term.split(' '); var resultsArr = items.filter(function(item) {

所以我有一个定制的过滤器,它看起来像这样:

.filter('iwSearch', function() {
        return function(items, term) {
            if (term !== undefined) {
                var newTerm = term.split(' ');
                var resultsArr = items.filter(function(item) {
                    // Check against new term whether it's a match.
                    var matches = 0;
                    var newItem = item.split(' ');
                    for (var i = 0; i < newItem.length; i++) {
                        //iterate over search term and check that all matches
                        if (newItem[i].indexOf(newTerm[i]) !== -1) matches++
                    }
                    return (matches >= newTerm.length);
                });
                return resultsArr;
            } else {
                return items;
            }
        }
    })
.filter('iwSearch',function(){
返回函数(项目、术语){
如果(术语!==未定义){
var newTerm=期限分割(“”);
var resultsArr=items.filter(函数(项){
//检查新学期是否匹配。
var匹配=0;
var newItem=项目分割(“”);
对于(变量i=0;i=newTerm.length);
});
返回结果sarr;
}否则{
退货项目;
}
}
})
我有这个指令:

.directive('iwAutoComplete', function($compile) {
        return {
            restrict: 'A',
            replace: true,
            template: '<div  class="btn-group btn-xs" dropdown keyboard-nav>' +
                            '<input dropdown-toggle'+
                                'iw-click'+
                                'iw-submit="addFirst()"'+
                                'ng-model="available_filters_query"'+
                                'ng-disabled="disabled"'+
                                'placeholder="Add New Field"'+
                            '>'+
                            '<ul class="dropdown-menu" role="menu" aria-labelledby="simple-btn-keyboard-nav">'+
                                '<li role="menuitem" ng-repeat="item in availableFilters | iwSearch: available_filters_query">'+
                                    '<a href="#" ng-click="addField(item)">{{item | toUserListHeader}}</a>'+
                                '</li>'+
                            '</ul>'+
                    '</div>'
        };
    });
.directive('iwaautocomplete',函数($compile){
返回{
限制:“A”,
替换:正确,
模板:“”+
''+
“
    ”+ “
  • ”+ ''+ “
  • ”+ “
”+ '' }; });

那么,如何将
iwSearch
过滤器移动到我的
iwsautocomplete
指令中呢?有可能吗?或者有一个很好的教程/参考资料来说明如何做?

你想在指令中包含的内容是什么意思..如果它被添加到
应用程序
模块中,那么你可以很容易地使用该过滤器..或者你在尝试时遇到任何问题..请更新问题..我希望我的过滤器成为指令的一部分,应用程序没有单独的模块。因此,我可以在其他函数中使用过滤器中的变量,而不是仅在过滤器中使用。然后将其设置为函数并将其放置在链接函数范围内,然后您可以将该函数用作过滤器…@PankajParkar我需要将其作为常规过滤器应用吗?或者以其他方式?它将像往常一样使用过滤器..就像你在使用过滤器时一样..你想在指令中包含什么意思..如果它添加到
应用程序
模块中,那么你可以轻松使用该过滤器..或者在尝试此操作时遇到任何问题..请更新问题..我希望我的过滤器成为其中的一部分指令,而不是应用程序的单独模块。因此,我可以在其他函数中使用过滤器中的变量,而不是仅在过滤器中使用。然后将其设置为函数并将其放置在链接函数范围内,然后您可以将该函数用作过滤器…@PankajParkar我需要将其作为常规过滤器应用吗?或者别的什么?它会像普通的过滤器一样工作..就像你在使用过滤器时一样