服務
Angular 的這個 Service 看上去用法跟 Hook 是很像的。不過它們最大的差別就是:React 裡的 Hook 只能在元件裡面共享狀態,但是 Angular 這邊的 Service 是全局共享的。
不過它們的設計邏輯還是差不多的:
- 把一些非 UI 渲染相關的複用邏輯(或者乾脆是所有邏輯)都扔到 Service 裡面來。
- 只要不是跟 UI 渲染有關的內容。元件裡面當然就只寫 UI 。
然後另一個差別就是,使用前要先 inject 一下,先注入才能用。
這裡可以重點再提一下inject,原先angular的語法是把各種要引入的外部函式放到建構函式裡給入,但現在直接inject就可以搞定一切了。
// 旧写法
constructor(private fb: FormBuilder) {}
// 新写法
private fb = inject(FormBuilder);