Не может получить экземпляр службы из $injector.get()

Я определяю службу клиентов с именем "приветствие", но не могу получить экземпляр из $injector.get( "приветствие" ). Это вызовет такую ​​ошибку: Неизвестный поставщик: приветствиеProvider < - приветствие. Итак, каков правильный способ его получить? Ниже приведен код:

var app = angular.module('myDI', []);
app.config(function($provide){
    $provide.provider('greeting', function(){
        this.$get = function(){
             return function(name) {
                 console.log("Hello, " + name);
            };
        };
    });
});

var injector = angular.injector();
var greeting = injector.get('greeting');
greeting('Ford Prefect');

Ответы

Ответ 1

Вам нужно создать инжектор из модуля.

var app = angular.module('myDI', []);
app.config(function($provide){
    $provide.provider('greeting', function(){
        this.$get = function(){
             return function(name) {
                 console.log("Hello, " + name);
            };
        };
    });
});
var injector = angular.injector(['myDI', 'ng']); //Add this line
var greeting = injector.get('greeting');
greeting('Ford Prefect');
var injector = angular.injector();

Попробуйте здесь. FIDDLE