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我需要将其作为常规过滤器应用吗?或者别的什么?它会像普通的过滤器一样工作..就像你在使用过滤器时一样