所以我有一些我想在我的 Angular 应用程序中使用的插件和库,并且(目前)我只是引用这些函数/方法,因为它们在 99% 的应用程序中都是以完全忽略依赖注入(inject)的方式引用的。
我有(例如)javascript 库“MomentJS”,它处理格式化和验证日期,我在我的整个应用程序中的 Controller 、服务和过滤器中都使用它。我学到的方法(使用 AngularJS)是创建一个引用该函数(及其方法)的服务,并将该服务注入(inject)我的 Controller ,效果很好。
问题是我真的需要在所有不同类型的组件中引用这个库,从服务到过滤器再到 Controller 和其他所有组件。所以,我想我的问题是你如何在过滤器、服务和其他所有不是 Controller 的东西中进行依赖注入(inject)?
这可能吗?这甚至是有益的吗?
任何帮助将不胜感激:)
最佳答案
是的,你可以对过滤器和指令使用依赖注入(inject)
例如:
过滤器:
app.filter('<filter>', ['$http', function(http){
return function(data){
}
}]);
指令:
app.directive('<directive>', ['$http', function(http){
return {
....
}
}]);
服务:
app.factory('<service>', ['$http', function(http) {
var shinyNewServiceInstance;
return shinyNewServiceInstance;
}]);
关于javascript - AngularJS - 服务、工厂、过滤器等中的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457720/