[英]router navigate with angular 7
我有一個關於在我的代碼中某處使用 angular 導航的問題
this.router.navigate([12345678 + '/data']);
在我的 app-routing.module
path: ':nossnbr/data',
component: DataComponent,
},
在我的組件 DataComponent 中(在 NgOnInit 中)
ngOnInit() {
this.routerSubscription = this.activatedRoute.params.subscribe(params => {
// .... do something
});
}
導航 (this.router.navigate([12345678 + '/data']);) 不起作用。 什么都沒有發生,我們不通過訂閱 go
另一方面,如果我在瀏覽器中直接輸入 url(localhost:4200/12345678/data),它就會傳入訂閱
2個電話有什么區別? 為什么我使用導航時訂閱不 go?
最佳實踐
您還需要與路由一起定義模塊名稱。如果僅在根模塊中應用路由,則路由中不需要模塊名稱,但是在不同的模塊中路由時,通過定義模塊名稱來導航,我們需要路由,然后是路由。
例如:有2個模塊:app和home模塊,我們在home路由模塊中定義了一個路由,即/dashboard。
在 root/app 路由模塊中定義模塊路由,如:
path: 'home-module',
loadChildren: () => import('./home/home.module').then(m =>
m.HomeModule)
},
在 home 模塊的 component's.ts 中,我們將定義路由,如:
this._router.navigate(['./home-module/dashboard/']);
當您使用路由器導航時,您的 url 是什么?
如果它不是localhost:4200那么您需要將 navigate-url 編輯為:
this.router.navigate([12345678, 'data'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.