我一直在做一些研究重新加載Angular 4+路由,它看起來好像首選的方法是,而不是監聽組件內的URL參數更改並重新初始化那裏的組件。用相同的URL參數重新加載Angular 4+路由
我遇到的問題是試圖找到一個DRY(不要重複自己)的方法,使這個工作跨多個組件,當URL將是相同的(包括參數)。在AngularJS中,UI路由器很簡單。
使用案例:
我有可以「浮動」的任何路線上面,點擊它需要去到它涉及到內容的通知時,通知面板 - 這可能是許多不同類型的內容。
例如:/posts/:id
或/groups/:id
或/users/:id
如果用戶已經在看的內容也不會重新加載和刷新,以反映該通知的消息。即,「John Doe對您的帖子發表了評論」(用戶可能正在查看該帖子的過時版本),或者「Jane Doe接受了您加入某個羣組的請求」(用戶可能正在查看該羣組的訪客視圖)。
我沒有考慮檢測的路線是一樣的,當使用window.location.reload()
,和這樣的作品,但它是極不可取,由於它引起的開銷(角度重新初始化,身份驗證檢查,插座重新連接,等等)。
任何建議將不勝感激!
我覺得這不是什麼問題。引用來自問題> URL何時會相同(包括參數) – asmmahmud
@asmmahmud的確,我明白了。但是,如果沒有'window.location.reload()',沒有辦法做到這一點。我稍微修改了一下我的答案,以說明這一點。 –