[英](Angular) Why would you want multiple instances of the same service?
我可能遗漏了一些东西,每当我用谷歌搜索时,人们通常会问“如何”而不是“为什么”
但是,实际上创建同一服务的多个实例,其中每个实例具有相同的功能、相同的变量有什么意义呢?
持有state。
想象一下,您有一个应用程序,它有多个选项卡。 假设它们显示汽车信息,因此每个选项卡都有不同的汽车。 您在“根选项卡”组件中提供服务,因此该服务的实例将可用于该选项卡内的所有子组件/服务,而不是外部。 这样你就可以编写存储一辆车数据的服务,从而降低服务的复杂性。
@Injectable()
export class CarService {
color = '';
}
@Component({
...
providers: [CarService]
})
export class TabComponent {
constructor(private car: CarService) {}
getColor() { return this.car.color }
}
这样你就可以拥有
TabComponent
getColor() -> red
TabComponent
getColor() -> blue
TabComponent
getColor() -> black
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.