Javascript Angularjs过滤器覆盖和模块依赖项注入
我的应用程序依赖于两个过滤器应用程序,如Javascript Angularjs过滤器覆盖和模块依赖项注入,javascript,angularjs,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
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 }}
其中输出应该是“Hello World from Filter1 app”,但我得到的是“Hello World from Filter2 app”。如何覆盖过滤器?或者过滤器是否按注入顺序覆盖?如何克服此问题?在“最后一个胜出”中。因此,如果您想同时使用这两个过滤器,则应使用不同的名称。例如,过滤器('module1.replace',..)在角度“最后一个胜出”中。因此,如果您想同时使用这两个过滤器,则应使用不同的名称。例如,过滤器('module1.replace',…)感谢Valentin。但是,对于具有多个模块的大型应用程序,这是怎么可能的呢?在我的实践中,我们开始命名时牢记AngularJS有“最后的胜利”原则,所以我们只是将模块内的所有内容命名为模块名称的前缀。谢谢Valentin。在我的实践中,我们开始命名时牢记AngularJS具有“最后的胜利”原则,所以我们只是将模块中的所有内容命名为module name.JsFiddle前缀。JSFIDLE补充道。