component 與 component 之間使用 router-outlet 跳轉 如何傳遞資料

大家好 有個問題想問一下大家
我有個
Acomponent
會去打後端api拿資料回來,如果成功我會
使用 router-outlet navigateByUrl導向
Bcomponent
想問一下要如何Acomponent 取得值帶到 Bcomponent ,不能用 url 的方式帶值要如何達成比較好???

如果資料僅有API回傳的內容的話
可以使用Resolver的方式來獲取資料
當API失敗時就會停止導航
https://angular.tw/api/router/Resolve

如果還有其他的資料 用Service 或是 LocalStorage來存取?

好的 我試試

不過我是要打完API 後導航到那個 component 使用資料

有試過用Service的方式來傳遞不行

目前是用LocalStorage 來傳遞 不知道有沒有更好的方式

Service 傳遞一定可以的,詳細可能要看你的程式碼

我是參考 這一篇

好像不能傳

基本上是可行的噢,如果你實作出來不行的話就代表有某些細節可能有問題

不過應用上,還是要看你的實際應用場景,搞不好根本不用用service來傳遞資料也說不定

我的應用場景就是 登入 傳回傳的資料到下一頁

service 可以傳 @@只是不知道這樣的作法好不好

如果按照他的那一篇 compoment 要在分開能用事件發射器


<app-input></app-input>

<app-output></app-output>

通常像這種登入資訊大多都會放在 local storage or session storage, 不太會用 service 來存,不然使用者一重 load 頁面就需要重登,UX會很不友善