iT邦幫忙

0

[已解決]angular routing 失效 網址有變

Zaku 2018-03-18 15:14:254784 瀏覽
  • 分享至 

  • xImage

各位好想請問一下,我在不同地方都有設routing連結,但有一個區塊不清楚為什麼,點下去雖然網址會變,跟其他地方設置的一樣,但點了後第一次點過的地方。

假定我有頁面a,b,c,失效的區塊點了a之後之後點b或c都會轉往a,看現點了哪個。但網址確實有變更,如果主動點到網址那邊,在按下enter他又會轉往正確的a或b或c。

假設像是我點了a會連到 localhost/a 點b會到 localhost/b
網址確實會變成localhost/a 或localhost/b
但畫面卻是倒向同一個頁面,像在網址明明是localhost/b確導到a,
要是我在localhost/b網址上按下entet讓他重新進入一次又是正確的b頁面

請問比較可能是哪裡出問題?

區塊大概如下

<mat-sidenav #sideNav mode="side" position="end" class="main-sideNav">
    <div class="sidenav-item" *ngFor="let item of theme">
        <mat-icon class="main-sidenav-icon">fingerprint</mat-icon>
        <a simplePageScroll routerLink="/router/{{item.router}}"   (click)="toggleSideNav(sideNav)" href="#pageanchor">{{item.title}}</a>
    </div>
</mat-sidenav>

最外層是angular material的側邊欄位結構

  <mat-sidenav-container>
  </mat-sidenav-container>

假設/router/{{item.router}}
會是
/router/a
/router/b

但點了後內容可能只會一直是a或b的,
但網址確實有變更成/router/b或/router/b

看更多先前的討論...收起先前的討論...
暐翰 iT邦大師 1 級 ‧ 2018-03-18 15:17:39 檢舉
有F12 error訊息or畫面?
跟route設定?
微中子 iT邦新手 4 級 ‧ 2018-03-18 15:20:16 檢舉
附上簡易版可以重現問題的原始碼,別人才能夠幫你
可以放在這邊:https://stackblitz.com/ 或是其他服務商
Zaku iT邦新手 3 級 ‧ 2018-03-18 21:35:04 檢舉
沒有出error資訊。我修改了一下內容。angular應該不好放上stackblitz?
twrichgod iT邦新手 5 級 ‧ 2018-03-19 17:24:11 檢舉
直覺是routing的順序出問題,再檢查一下routing檔吧
Zaku iT邦新手 3 級 ‧ 2018-03-22 11:14:03 檢舉
順序是什麼意思,我不只有這個地方有放routerlink其他地方也有放同樣的routerlink,其他地方是正常運作
把router的enableTracing設true去觀察,不知道能不能幫助到你?
Zaku iT邦新手 3 級 ‧ 2018-10-23 15:00:39 檢舉
我知道問題了感謝大大,是RXJS的問題,不過沒用過enableTracing,好用?
enableTracing是angular提供他的router怎麼去跑的一個log紀錄,會在console中顯示,如果覺得router不如你預期的跑,就可以看查看。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答