2013-10-08 11 views
15

Ich habe eine Zeichenfolge, die den Namen eines Dienstes enthält, den ich programmgesteuert in einen meiner Controller injizieren muss.Wie man Angular-Dienst mit Namen programmgesteuert erhält

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

Ich gehe davon aus es sollte ziemlich einfach sein, etwas zu tun, ähnlich wie:

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

ich weiß ich habe nicht die Syntax korrekt aber kann mir jemand die korrekte Syntax?

Antwort

32

Sie können einen Dienst wie diese:

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

+3

Ich hasse es, wenn ich etwas so einfach vermissen, aber ich schätzen es sehr! –

Verwandte Themen