如何在角度应用程序之间共享过滤器

时间:2013-09-08 09:50:55

标签: javascript angularjs

这可能是一个简单的问题,但我无法找到答案。 我正在开发几个角度应用程序,我希望有一个javascript文件包含我正在使用的所有过滤器。

当前我定义了这样的过滤器:

var app = angular.module('MyApp1')
app1.filter('filterCount',function() {
     return function(input) {
        ....
     }
})

如何更改我的代码以为包含此文件的任何应用定义此过滤器(例如,如果我希望MyApp2使用它)?有没有办法做到这一点?

感谢。

1 个答案:

答案 0 :(得分:8)

创建一个通用模块并将其注入任意位置。

var common = angular.module('common', []) //creates a module 'common'
common.filter('filterCount',function() {
     return function(input) {
        ....
     }
})

然后

var myapp1=angular.module('myApp1',['common']);
var myapp2=angular.module('myApp2',['common']);