什么是服务
angular中使用服务实现状态管理,在组件间共享数据。
示例
使用命令ng g c myc05
和 ng g c myc06
来创建两个组件:
在根组件中显示刚刚创建好的两个组件:
创建一个服务
使用命令ng generate service 服务名
来创建一个服务。
简写形式:ng g s 服务名
例如,执行ng g s name
:
生成的name.service.ts文件的默认内容如下:
修改为如下内容:
在组件中使用服务:采用普通方法书写服务的依赖注入
下面要在组件myc05中使用它:
myc05.component.ts文件:
myc05.component.html文件:
同理,下面在myc06组件中使用它:
myc06.component.ts文件:
myc06.component.html文件:
展示效果:
在组件中使用服务:采用语法糖写法书写服务的依赖注入
组件myc05
myc05.component.ts文件:
myc05.component.html文件:
组件myc06
myc06.component.ts文件:
myc06.component.html文件:
验证通过服务可以实现组件间数据共享(验证服务的数据是同一份数据)
下面来修改组件myc06中的html文件,删除、增加服务的数据,看是否会同步影响到组件myc05。
myc06.component.html文件修改为(新增了增加、删除数据的按钮):
现在初始展示为:
点击myc06组件 “张飞”后面的删除按钮,可以发现,myc06和myc05组件中都删除了张飞:
点击myc06组件下面的 “新增电影”按钮,发现两个组件中都增加了相同的电影: