在根模块中为useFactory函数提供构造函数参数,可以通过以下步骤实现:
import { NgModule } from '@angular/core';
export function myFactory(param1: string, param2: number) {
// 构造函数逻辑
return new MyClass(param1, param2);
}
@NgModule({
providers: [
{ provide: MyClass, useFactory: myFactory, deps: ['param1Token', 'param2Token'] },
// 其他提供者
],
})
export class AppModule { }
import { NgModule } from '@angular/core';
@NgModule({
providers: [
{ provide: 'param1Token', useValue: 'value1' },
{ provide: 'param2Token', useValue: 123 },
// 其他提供者
],
})
export class AppModule { }
export function myFactory(param1: string, param2: number) {
// 使用参数构造对象
return new MyClass(param1, param2);
}
这样,当需要使用MyClass类的实例时,Angular将自动调用myFactory函数,并将通过参数的令牌获取到的参数值传递给该函数,从而创建并返回一个MyClass对象。
这种方法可以用于任何需要在根模块中为useFactory函数提供构造函数参数的情况。它可以帮助我们实现更灵活和可配置的依赖注入,同时提供了更好的可测试性和可维护性。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云