我使用此代碼強制更改路由(對應於按鈕單擊)。完整的方法是這樣的:Angular 2.0.0-beta.2路由器注入不需要的'?'後綴到路由
submit(){
this.store.dispatch({type: MasterScreenerActions.SUBMIT});
this.router.navigateByUrl('master-screener-results');
}
現在,這個工作得很好,但如果我打回瀏覽器,然後再次單擊submit
按鈕,瀏覽器將導航到像這樣:Navigated to http://localhost:4200/master-screener-results?
。最後注意?
。然而,在瀏覽器最終到達正確的URL後,即/master-screener-results
,在重新加載應用程序之後等等。問題是這條路線只打算在填好各種表格之後激活或連接,暗示在master-screener
。
爲什麼這種行爲以及它是如何發生的? master-screener-results
應該是兒童組件嗎?我需要實施某種類型的警衛嗎?任何意見或提示從哪裏開始尋找非常感激。
編輯:我也最終得到?null=on
後綴在我的路線後一些擺動......這是什麼意思?
EDIT2:此行爲似乎發生,當且僅當模板已被以前加載,即zone.js:101 XHR finished loading: GET "http://localhost:4200/app/master-screener-results/master-screener-results.component.html".
,下一次調用將導致Navigated to http://localhost:4200/master-screener-results?