Leslie Hanks
Leslie Hanks

Reputation: 2377

How to get Angular service by name programmatically

I have a string that contains the name of a service I need to inject into in one of my controllers programmatically.

function Ctrl() {
    var serviceName = '$myService';
    var service = ???
}

I am assuming it should be pretty easy to do something similar to:

function Ctrl($injector) {
    var serviceName = '$myService';
    var service = $injector.inject(serviceName);
}

I know I don't have the syntax correct but can someone give me the correct syntax?

Upvotes: 18

Views: 8290

Answers (1)

Foo L
Foo L

Reputation: 11137

You can get a service like this:

var myService = $injector.get('MyServiceName');

Upvotes: 37

Related Questions