Passing data during router navigation

各位好,目前遇到一個問題是這樣的

A-Component

B-Component

需求是需要透過 this.router.navigate([‘pageName’]) 由A導頁至B時一併傳值給B,主要是紀錄左上那顆返回鍵要返回哪一頁(從哪頁來就回哪頁去),這兩個元件並不是ParentToChild關係,而是獨立的畫面

試過以下方法
1.因為不是ParentToChild 所以好像也不會採用Output的方式傳值
2.有想過利用rxJS,但使用這個工具的話印象中應該是要在某元件先訂閱之後才收的到資料,但以上面的case來說,如果需要A傳值給B,應該不太可能先去B畫面訂閱事件
3.應該也可以透過url傳值,但目前還沒打算用這個方式,感覺好像沒到這步田地…

最後最後採用localStorage…雖然感覺有點low…

因為一直覺得應該是有甚麼Listener或是事件發射的功能可以做到這個需求,只是我還沒找到…

想問一下各位大神有沒有甚麼建議或是其他較好的方式可以修改?

大概找到一個應該可行的方向,影片中分為兩種傳值的方法,一個是透過url,一個則是透過service在A元件導頁時會觸發onDestory()事件,以此將需要傳遞的值丟給service中的變數,B元件在onInit()時就可以拿到A的值了

Angular 裡面 component 之間的資料交換方式有很多種,使用 service 是其中一種方式,但在使用時,要再多去了解 Angular 內 Dependency Injection 是怎麼運作的,不然有可能會遇到存取不同值的情況

好的,如果我想得沒錯K大指的是不是這些指令?

useClass、userFactory…等等

主要是針對在不同的地方註冊 service 時,所帶來的影響與差異性。