2017-04-13 71 views
0

我有一個標準的Angular應用程序,它使用角路由器來控制頁面導航。角路由器和導航通過'向後''前進'瀏覽器按鈕

如果我通過這樣的

this.router.navigate(['component2']); 

正確的頁面顯示,但是在瀏覽器的地址欄「我們發現了一個代碼控制導航類似https://myserver.com/component2

,因爲我不想看component2作爲url的最後部分,我用下面的代碼來導航

this.router.navigate(['component2'], {skipLocationChange: true}) 

如果我這樣做,通過瀏覽器的標準「後退」向前按鈕導航不再工作。

有沒有辦法避免將組件的路徑引用爲url的一部分,同時能夠通過標準瀏覽器按鈕進行導航?

回答

3

我會假設沒有。如文檔中所述:https://angular.io/docs/ts/latest/guide/router.html Angular路由器使用地址欄作爲其標準操作的一部分。

我可以理解爲什麼你不想在地址欄中顯示組件的名稱。爲什麼不將路線路徑名稱更改爲該功能?如:myserver.com/customers或myserver.com/products。

試圖對抗路由器工作的標準方式可能會導致您的團隊陷入困境。

相關問題