Angular的Module的Providers作用域

本人最近翻查阅读广发证券出品的《揭秘Angular2》,里面提到:

需要注意的是,Angular中没有模块作用域这个概念,只有应用程序级作用域和组件作用域。这种设计主要考虑模块的扩展性,一个应用程序通常由多个模块合并而成。在@NgModule里注册的服务默认就可在整个应用程序内可用。

也就是说,Angular中,有ModuleA, ModuleB,假如A配置了providers的服务,那么里面的服务不需要再次在B的providers里配置也能直接使用了。它们是共用一个实例。

(需要注意的是,对于延迟加载的Module而言,里面配置的providers则不能直接引用的)

所以,使用Angular的服务,最佳实践是:

1. 在根Module里配置系统共用的、工具类的服务,无需在各自业务模块里进行配置了

2. 对于业务相关的服务,则配置在业务组件本身的Component的providers里。单独使用一个实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值