2015-11-15 1 views
0

Existe-t-il un exemple de comment/où définir l'injection de dépendance à l'aide de la fonction provide()?Angular2: injection de dépendance d'interface avec provide()

Je veux carte de classe et de la valeur à une interface:

https://angular.io/docs/ts/latest/api/core/provide-function.html

tryed pour le faire comme ça dans app.js:

import {provide, Injector} from 'angular2/angular2'; 

export interface EnvSettings { 
    apiUrl: string; 
} 
var injector = Injector.resolveAndCreate([ 
    provide(EnvSettings, {useValue: {apiUrl: 'http://localhost:8080/'}}), 
    //provide(Engine, {useClass: Engine}), 
]); 

Obtenir une erreur:

Uncaught Token must be defined! 

Répondre

2

Votre jeton ne peut pas être une interface (qui disparaît avec la transpiration). Vous pouvez toutefois créer un jeton spécifique à cet effet, comme suit:

export let EnvSettingsToken = new OpaqueToken('env.settings'); 
+0

OK, mais comment puis-je jeter à un type requis? Vaut-il mieux définir une classe de base au lieu d'une interface? –