动态提供服务到角组件2

时间:2018-06-26 05:41:06

标签: angular angular2-services angular2-components

我只想通过调用组件内的任何函数来动态地在Component中提供服务。我创建了一个数组,然后将数组服务推送到提供程序中。我不知道这是正确的方法。谢谢

import { Component, OnInit} from '@angular/core';

let providers:any = [];

@Component({
  selector: 'app-component',
  template: `
    <p></p>
  `,
  styles: [],
  providers: [providers]
})
export class AppComponent implements OnInit {

  constructor() {}

  ngOnInit() {
    this.addProviders();
  }

  addProviders() {
    providers.push({provide: service1, useClass: UseClass1});
    providers.push({provide: service2, useValue: UseValue2});
  }

}

1 个答案:

答案 0 :(得分:0)

如果您使用单独的NgModule,请尝试在@NgModule部分的每个providers中添加服务

我尝试过并正在工作....

我有多个NgModule并将其导入到SharedModule中...所以我提供了在导入组件中使用的服务