How to get Angular service by name programmaticall

2019-06-15 03:14发布

问题:

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?

回答1:

You can get a service like this:

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