说明
服务是angular抽离出来处理数据逻辑的一个文件,服务通常是单例的;使用服务,我们可以轻松实现跨模块跨组件共享数据,而这些是取决于服务的作用域的
分类
1 在根注入器中注册服务,所有模块使用同一个服务实例对象
2 在模块级别注册服务,在该模块中的所有组件使用同一个服务实例
3 在组件级别去注册服务,那么只能在组件及其子组件域内使用
这里需要先解释一下下面的用法
估计上面的解释会有一些模糊,下面写一些例子
1 关于在根模块中注册服务的例子
首先,我们建立一个服务
其中provideIn:‘root’,这里就表示是注册到了根模块中,是可以在全局使用这个服务的
我们在根组件中,就可以拿到这个服务的变量
假设,我们把注入代码变一下
然后就会报错了
这也就说明我们的作用域变了。
当然咯,我们也可以通过provider去注册,
你看,我们又拿到那个变量了。对吧
至于2、3的使用方法,基本也大同小异了。