发表于: 2021-02-04 23:54:54
1 1262
今天完成的事情:
Hero guide 创建特性组件
src/app/hero-detail
作为组件样式的 CSS 文件。
作为组件模板的 HTML 文件。
存放组件类 HeroDetailComponent 的 TypeScript 文件
HeroDetailComponent 类的测试文件
Hero guide 添加服务
服务存在的意义
组件不应该直接获取或保存数据,它们不应该了解是否在展示假数据。 它们应该聚焦于展示数据,而把数据访问的职责委托给某个服务
创建 HeroService
创建一个名叫 hero 的服务
app/hero.service.ts中生成 HeroService 类:
@Injectable() 服务
这个服务导入了 Angular 的 Injectable 符号,并且给这个服务类添加了 @Injectable() 装饰器
@Injectable() 装饰器会接受该服务的元数据对象,就像 @Component() 对组件类的作用一样
获取英雄数据
HeroService 可以获取数据:Web 服务、本地存储(LocalStorage)或一个模拟的数据源。
从组件中移除数据访问逻辑,意味着将来任何时候你都可以改变目前的实现方式,而不用改动任何组件
导入 Hero 和 HEROES
添加一个 getHeroes 方法,让它返回模拟的英雄列表
提供(provide) HeroService
所谓服务提供者就是某种可用来创建或交付一个服务的东西
命令 ng generate service 会通过给 @Injectable() 装饰器添加 providedIn: 'root' 元数据的形式
未完成
问题:
状态不好,未能完成,早点休息
明天的计划:
继续学习服务,自己重新依照案例编写学习angular代码
评论