在Angular中,可以使用提供商的令牌来区分和匹配依赖注入。令牌可以是一个类、字符串、符号或OpaqueToken。
以下是一个示例,展示了如何使用提供商令牌来区分和匹配依赖注入:
import { InjectionToken } from '@angular/core';
export const MY_TOKEN = new InjectionToken('MyToken');
import { Injectable, Inject } from '@angular/core';
import { MY_TOKEN } from './my-token';
@Injectable()
export class MyService {
constructor(@Inject(MY_TOKEN) private myToken: string) {
console.log(this.myToken);
}
}
import { NgModule } from '@angular/core';
import { MY_TOKEN } from './my-token';
@NgModule({
providers: [
{ provide: MY_TOKEN, useValue: 'my value' }
]
})
export class MyModule { }
在上面的示例中,我们创建了一个名为MY_TOKEN
的令牌,并将其注入到MyService
的构造函数中。然后,在MyModule
模块中,我们使用MY_TOKEN
提供了一个值为'my value'
的提供商。
这样,当我们在应用中使用MyService
时,Angular会自动查找并注入与MY_TOKEN
令牌匹配的提供商值。