token使用的问题
来源:4-14 依赖注入(2)
weixin_慕侠1169668
2023-01-19
老师,
Token这里的功能是什么,为什么要这么做,它与一般的injectable的变量有什么异同。
下面是我自己总结的token的使用流程。请老师看看理解是否正确。
使用时,先定义。
const token = new InjectionToken(‘config’);
问题:为什么要把它放在services文件夹下的index.ts文件?
然后在module文件中,赋值。
providers: [{ provide: token, useValue: ‘http://localhost’ }],
问题:这里providers是什么意思;为什么要写在module文件中
最后,调用时,直接加@Ingect即可
@Inject(token) private baseUrl: string
课程中提到,新版本:只要把injectable注入(providedIn)到 root里即可。这里token如何注入呢?
@Injectable({
providedIn: ‘root’
})
export class HomeService {…
谢谢。
1回答
-
接灰的电子产品
2023-01-20
providers 相当于你把要注入的对象都声明好
依赖注入其实都是要靠一个 key 只来找到对应的实例对象的,一般的服务由于是具体的类,我们可以靠它的类来找到,也就是可以要注入的类写上 @Injectable 注解,但是对于配置类,比如就是一个字符串,那么 String 这个类型太广泛了,没法唯一标识,我们不可能在构造函数中遇到 String,就认为它是你定义的这个,这样会引起混淆。所以需要给这种定义一个唯一标识的 token,在引用的时候,注解里面写上这个地方我需要你从 providers 里面取
012023-01-21
相似问题