使用provider将多个值注入我的服务构造函数 - angular2

时间:2018-01-18 11:02:06

标签: angular typescript

如果我有像这样的构造函数

,如何为我的服务注入多个值
@Injectable()
export class MyService implements OnInit {
    constructor(private http: Http, @Inject('name') @Optional() public name?: string) {            
}

在AppModule里面我尝试了

...
providers: [
    SecurityService, providers:[
      {  provide: 'username', useValue: ''  },
      {  provide: 'http', useValue: Http  }
    ],
..

但我在第SecurityService, providers:[

中遇到语法错误
Cannot find name providers

1 个答案:

答案 0 :(得分:4)

只需将依赖项作为数组传递(您不需要对其进行解构):

...
providers: [
    SecurityService, 
    [
      {  provide: 'username', useValue: ''  },
      {  provide: 'http', useValue: Http  }
    ],
...

或者为了更清晰的代码而继续进行构建:

...
providers: [
    SecurityService, 
    {  provide: 'username', useValue: ''  },
    {  provide: 'http', useValue: Http  }
...