Javascript 如何列出可用的筛选器
我有一个场景,希望用户能够选择应用哪个过滤器。我不想在html中维护一个单独的过滤器列表。考虑到下面的代码,我试图访问已注册过滤器的名称。(我是AngularJS的新手,如果这是显而易见的,我深表歉意)Javascript 如何列出可用的筛选器,javascript,angularjs,Javascript,Angularjs,我有一个场景,希望用户能够选择应用哪个过滤器。我不想在html中维护一个单独的过滤器列表。考虑到下面的代码,我试图访问已注册过滤器的名称。(我是AngularJS的新手,如果这是显而易见的,我深表歉意) 我想做这件事是没有办法的。但是,如果您正在挂接$filterProvider,则可以获得此信息: .config(function($filterProvider, $provide) { // keep the original register fucntion var re
我想做这件事是没有办法的。但是,如果您正在挂接
$filterProvider
,则可以获得此信息:
.config(function($filterProvider, $provide) {
// keep the original register fucntion
var registerFn = $filterProvider.register;
// array with all filters
var allFilters = [];
// replace the register function with our own implementation
$filterProvider.register = function(name, fn){
// save the name in the array
allFilters.push(name);
// call the original function
registerFn(name, fn);
}
// register a value to retrieve the filters
$provide.value('filters', allFilters);
})
过滤器
值现在可以通过注入在控制器中使用:
.controller('MainCtrl', function(filters){
// outputs an array with all known filters
console.log(filters);
})
.controller('MainCtrl', function(filters){
// outputs an array with all known filters
console.log(filters);
})