服务
Angular 的这个 Service 看上去用法跟 Hook 是很像的。不过它们最大的差别就是:React 里的 Hook 只能在组件里面共享状态,但是 Angular 这边的 Service 是全局共享的。
不过它们的设计逻辑还是差不多的:
- 把一些非 UI 渲染相关的复用逻辑(或者干脆是所有逻辑)都扔到 Service 里面来。
- 只要不是跟 UI 渲染有关的内容。组件里面当然就只写 UI 。
然后另一个差别就是,使用前要先 inject 一下,先注入才能用。
这里可以重点再提一下inject,原先angular的语法是把各种要引入的外部函数放到构造函数里给入,但现在直接inject就可以搞定一切了。
// 旧写法
constructor(private fb: FormBuilder) {}
// 新写法
private fb = inject(FormBuilder);