【发布时间】:2018-04-22 08:08:35
【问题描述】:
我在 Angular 2 路由中遇到了一个奇怪的问题,我只能路由到下一页,但无法从该页面路由。
我有 4 个组件:主页、搜索结果、个人资料和管理。
当我第一次到达主页组件时,我可以导航到搜索结果,但从搜索结果中我无法导航到除主页组件之外的任何地方。
主页组件和应用顶部栏包含相同的逻辑(相同的代码),并且顶部栏逻辑在导航时适用于所有页面。即当我从任何页面导航到顶部栏按钮的搜索结果页面时,我可以导航到下一页和任何其他页面。
我的路线:
{path: '', component: HomeComponent},
{path: 'seachresult', component: SearchResultComponent},
{path: ':code', component: ProfileComponent},
{path: 'admin/account', component: AdminComponent}
在这里,在上面的 HomeComponent 中,我尝试了以下操作:
- 将 '' 替换为 'home'
{路径:'home',组件:HomeComponent},
- 更新路线如下:
{path: '', redirectTo: 'home', pathMatch: 'full'}, {path: 'home', 组件:HomeComponent},
- 直接从按钮的routerLink重定向到搜索结果页面
以上都不能解决问题。
点击搜索按钮时,会执行以下代码:
this.router.navigate(['vendors', 'pokhara']);
以下是 package.json 中的版本:
- "rxjs": "^5.2.0",
- "@angular/router": "^4.1.0",
【问题讨论】:
-
如果您使用 Angular 2 应用程序,为什么要使用 Angular 4 路由器?
-
如果你能提供一个 plunker 会很有帮助
-
@Ploppy "@angular/animations": "^4.1.0", "@angular/common": "^4.1.0", "@angular/compiler": "^4.1.0 ", "@angular/core": "^4.1.0", "@angular/forms": "^4.1.0", "@angular/http": "^4.1.0", "@angular/platform- browser": "^4.1.0", "@angular/platform-browser-dynamic": "^4.1.0", "@angular/router": "^4.1.0" 实际上,我在一个模板中工作package.json 中有以下内容。所以,我认为它会说 angular 4
-
你能告诉我们你吗
app.component.html -
我认为您的问题在于 router.navigate 中的路径设置。有一种可能。请在 stackblitz 上分享您的代码,以便我们更好地为您提供帮助。谢谢你:)