当使用Angular的依赖注入功能时,我们需要使用token作为注入的标识符。然而,有时候我们可能会遇到'该类型不支持作为注入令牌”的错误。这通常是因为我们使用了一个不支持作为注入令牌的类型作为token。
例如,在以下代码片段中,我们试图使用一个字符串类型作为注入令牌:
import { Injectable, Inject } from '@angular/core';
@Injectable()
export class MyService {
constructor(@Inject('myString') private myString: string) {}
}
这会导致Angular抛出'该类型不支持作为注入令牌”的错误。为了解决这个问题,我们需要将注入令牌转换为一个自定义的token,例如使用InjectionToken:
import { InjectionToken } from '@angular/core';
export const MY_STRING_TOKEN = new InjectionToken('myString');
@Injectable()
export class MyService {
constructor(@Inject(MY_STRING_TOKEN) private myString: string) {}
}
这样就可以解决'该类型不支持作为注入令牌”的问题了。