web-dev-qa-db-fra.com

impossible d'obtenir l'instance de service de $ injector.get ()

Je définis un service client nommé "message d'accueil", mais je ne peux pas obtenir l'instance de $ injector.get ("message d'accueil"). Il générera une telle erreur: fournisseur inconnu: greetingProvider <- salutation. Alors, quelle est la bonne façon de l'obtenir? Voici le code:

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');
15
jason

Vous devez créer l'injecteur à partir du module.

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();

Essayez-le ici. VIOLON

26
zs2020