Angularjs过滤器覆盖和模块依赖注入

时间:2013-07-23 13:34:06

标签: javascript angularjs

我的应用程序取决于两个过滤器应用程序,如

 var app = angular.module('MyApp',['Filter1','Filter2']);

其中两个应用程序都有具有相同名称的过滤器,如

 var filterapp1 = angular.module('Filter1',[]);
 filterapp1.filter('replace',function(){return function(input){ 
             return input + " from Filter1 app";
 }});

 var filterapp2 = angular.module('Filter2',[]);
 filterapp2.filter('replace',function(){return function(input){ 
             return input + " from Filter2 app";
 }});

现在在我的应用程序中,如果我想从filterapplication1中引用过滤器,我该怎么办?

在我的HTML中,我有类似

的内容
 {{'Hello World' | replace }} 

其中输出应为“来自Filter1应用程序的Hello World”,但我得到“来自Filter2 app的Hello World”。如何覆盖过滤器?或者按过滤器的顺序覆盖过滤器吗?如何克服这个问题?

1 个答案:

答案 0 :(得分:3)

在Angular中“最后一个获胜”。因此,如果要使用这两个过滤器,则应以不同方式命名。例如,filter('module1.replace',....)