使用方法而不是构造函数注入服务

用户名

说我有这个服务和组件。我想使用MySillyService的多个实例。

@Injectable()
export class MySillyService {

}

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})


export class AppComponent {

  vals: Array<MySillyService>;

  constructor() {

    this.vals = [1,2,3].map(v => {
       return this.getSillyService();
    });

  }

  @Inject(MySillyService)
  getSillyService(mss: MySillyService){
    console.log('getting mss...');
    return mss;
  }

}

由于我收到此错误,因此无法编译:

在此处输入图片说明

有没有办法使用方法而不是构造函数来注入服务的新实例?

康纳斯·范

所述喷油器服务可以用来使用一种方法以注入服务:

import { Injector } from '@angular/core';

export class AppComponent {

    vals: Array<MySillyService>;
    mySillyService: MySillyService;

    constructor(private injector: Injector) {
       this.vals = ['some','dynamic','array'].map(v => this.getSillyService());
    }

    getSillyService() {
       return this.injector.get(MySillyService);
    }

    injectAnotherInstance() {
       this.mySillyService = this.injector.get(MySillyService);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java:为什么使用方法而不是构造函数?

构造函数注入与方法注入

使用构造函数注入使用 Mockito/Spring 测试服务层

为什么在CDI中使用构造函数而不是setter注入?

如何使用Unity将类型而不是实例注入构造函数

Symfony 4服务依赖注入-构造函数与方法

为什么使用NGRX代替构造函数注入服务?

在 main.ts 中使用构造函数注入服务

何时使用方法与在构造函数中设置属性?

使用方法类构造函数 C# 创建表单

在Startup类的Configure()方法中,服务的方法注入或构造函数注入之间有区别吗?

修改冷却装饰器以使用方法而不是函数

在构造函数注入和门面服务理念

SpringBoot:与构造函数依赖注入测试服务

如何调用注入另一个构造函数服务PHP Symfony的方法服务

Microsoft.Extensions.DependencyInjection将null注入构造方法,而不是在缺少服务时引发异常

将依赖项作为方法参数而不是构造函数参数注入

使用servicelocation而不是构造函数注入来避免编写工厂类负载是否不好

在Laravel中,使用App :: make('')而不是构造函数注入有什么缺点?

为什么要使用单独的加载方法而不是构造函数?

使用提供程序向我的服务构造函数注入多个值-angular2

TYPO3:使用构造函数将服务类注入AuthServiceClass

我想使用 typedi 在服务构造函数中注入 Repositories 容器

构造函数注入和方法用法

构造函数依赖注入的替代方法

Laravel构造函数和方法注入

我正在尝试使用ASP.Net依赖注入将服务注入到构造函数中,但收到一条消息,提示我空白的构造函数还不够

从构造函数分配Final变量| 不允许使用方法。为什么?

如何使用方法在F#中的默认构造函数中设置属性