首页 文章

Angular 4路由仅适用于下一条路由

提问于
浏览
0

我在Angular 2路线中遇到一个奇怪的问题,我只能路由到下一页但无法从该页面路由 .

我有4个组件:主页,搜索结果, Profiles 和管理员 .

当我第一次到达Home组件时,我可以导航到搜索结果,但是从搜索结果中我无法导航到除Home组件之外的任何位置 .

主组件和应用程序顶部栏包含相同的逻辑(相同的代码),并且顶栏逻辑在导航时适用于所有页面 . 即当我从任何页面导航到顶部栏按钮的搜索结果页面时,我能够导航到下一页和任何其他页面 .

我的路线:

{path: '', component: HomeComponent},
{path: 'seachresult', component: SearchResultComponent},
{path: ':code', component: ProfileComponent},
{path: 'admin/account', component: AdminComponent}

在上面的HomeComponent中,我尝试了以下内容:

  • 取代'' by ' home'

{path:'home',component:HomeComponent},

  • 更新了以下路线:

{path:'',redirectTo:'home',pathMatch:'full'},{path:'home',component:HomeComponent},

  • 直接从按钮的routerLink重定向到搜索结果页面

以上都不能解决问题 .

单击搜索按钮时,将执行以下代码:

this.router.navigate(['vendors', 'pokhara']);

以下是package.json中的版本:

  • "rxjs":"^5.2.0",

  • "@angular/router":"^4.1.0",

1 回答

  • 0

    希望你可能已经解决了这个问题,但是,如果你不能使用router.navigate进行路由,为什么不在.ts中使用路由器链接或routeBy Url

    import { Router } from '@angular/router';
    ....
     constructor(private router : Router){}
    ...
    functionClick(){
    this.router.navigateByUrl('/code');  // or any path
    }
    

    或者直接在html中使用

    <span routerLink="/code"></span>
    

相关问题