关于 Angular 服务实例作用域的问题 - 使用组件限定服务提供者的作用域
生活随笔
收集整理的這篇文章主要介紹了
关于 Angular 服务实例作用域的问题 - 使用组件限定服务提供者的作用域
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
官方鏈接
一種限定提供者作用域的方式是把要限定的服務添加到組件的 providers 數組中。組件中的提供者和 NgModule 中的提供者是彼此獨立的。 當你要急性加載一個自帶了全部所需服務的模塊時,這種方式是有幫助的。 在組件中提供服務,會限定該服務只能在該組件及其子組件中有效,而同一模塊中的其它組件不能訪問它。
例子:BudgetItemService 只在 BudgetFormComponent 及其子組件內有效:
通常,要在根模塊中提供整個應用都需要的服務,在惰性加載模塊中提供限定范圍的服務。
路由器工作在根級,所以如果你把服務提供者放進組件(即使是 AppComponent)中,那些依賴于路由器的惰性加載模塊,將無法看到它們。
當你必須把一個服務實例的作用域限定到組件及其組件樹中時,可以使用組件注冊一個服務提供者。 比如,用戶編輯組件 UserEditorComponent,它需要一個緩存 UserService 實例,那就應該把 UserService 注冊進 UserEditorComponent 中。 然后,每個 UserEditorComponent 的實例都會獲取它自己的緩存服務實例。
總結
以上是生活随笔為你收集整理的关于 Angular 服务实例作用域的问题 - 使用组件限定服务提供者的作用域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Spartacus 中的依赖注入
- 下一篇: 几款流行文章编辑器性能评测报告(转)