Angular2:使用provide()进行接口依赖注入

时间:2015-11-15 16:47:10

标签: angular ionic2

是否存在使用provide()函数定义依赖注入的方式/位置的示例?

我想将类和值映射到接口:

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

尝试在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}),
]);

收到错误:

Uncaught Token must be defined!

1 个答案:

答案 0 :(得分:2)

您的令牌不能是一个接口(随着转换而消失)。 但是,您可以为此目的创建一个特定的令牌,如下所示:

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