将 @Inject(MAT_DIALOG_DATA) 移出类构造函数

The*_*bio 3 typescript angular-material angular

我正在更改我们使用的依赖注入模式,以便团队最大限度地减少 Typescript 构造函数的使用。这避免了人们在添加不应该在构造函数中的逻辑时遇到的一些重复出现的问题。

我们可以轻松地摆脱这种模式:

constructor(private readonly fb: FormBuilder) {}
Run Code Online (Sandbox Code Playgroud)

对于这个:

private readonly fb = inject(FormBuilder);
Run Code Online (Sandbox Code Playgroud)

但我们找不到将以下内容移出构造函数的方法

constructor(@Inject(MAT_DIALOG_DATA) public data: string ) {}
Run Code Online (Sandbox Code Playgroud)

怎么可能呢?

小智 5

您还可以使用新inject函数来注入注入令牌。

IE

private readonly data: string = inject(MAT_DIALOG_DATA);
Run Code Online (Sandbox Code Playgroud)