Issue
So I have some plugins and libraries I want to use in my angular app and (currently) I am simply referencing those functions/methods as they were intended in 99% of apps in a way that completely ignores dependency injection.
I have (for example) the javascript library "MomentJS" which deals with formatting and validating dates and I have uses for it throughout my app in controllers, services and filters. The way that I've learned (using AngularJS) is to create a service that references the function (and it's methods) and inject that service into my controllers, which works great.
The problem is that I really need to reference this library in all different kinds of components from services to filters to controllers and everything else. So, I guess my question is how do you do dependency injection in filters, services and everything else that isn't a controller?
Is this possible? Is this even beneficial?
Any help would be greatly appreciated :)
Solution
Yes you can use dependency injection for filters and directives
Ex:
Filter:
app.filter('<filter>', ['$http', function(http){
return function(data){
}
}]);
Directive:
app.directive('<directive>', ['$http', function(http){
return {
....
}
}]);
Service:
app.factory('<service>', ['$http', function(http) {
var shinyNewServiceInstance;
return shinyNewServiceInstance;
}]);
Answered By - Arun P Johny
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.