【问题标题】:provide service dynamically into component angular 2动态提供服务到组件角度 2
【发布时间】:2018-12-04 17:51:21
【问题描述】:

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

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

}

【问题讨论】:

  • 这里没有足够的信息来制作答案。您想重用具有动态服务的组件吗?动态如何?为什么你不能在模块中尝试这个?

标签: angular angular2-services angular2-components


【解决方案1】:

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

我试过了,工作正常......

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

【讨论】:

  • 通过将服务添加到模块中使其全局可用,这是我不想要的。
猜你喜欢
  • 2016-08-15
  • 2015-03-22
  • 2021-11-09
  • 1970-01-01
  • 2018-08-11
  • 2021-07-09
  • 1970-01-01
  • 2019-02-08
  • 2021-01-27
相关资源
最近更新 更多