如何在我的路线中搜索特定数据?

时间:2017-05-04 14:42:05

标签: angular angular2-routing

我定义了路线:

const appRoutes: Routes = [
  { path: '', component: comp, children: [
    { path: 'path1', component: comp1, children: [
      { path: 'child1', component: path1child1, data: { myData: 'myData1'},
      { path: 'child2', component: path2child2, data: { myData: 'myData2'},
    ]},
    { path: 'path2', component: comp2, data: { myData: 'myData3'}, children: [
      { path: 'child1', component: path2child1, data: { myData: 'myData4'},
    ]},
    { path: 'path3', component: comp3}
  ...

我最终想要导航到myData设置为'myData2'的第一条路线。

我尝试注入{ Router } from "@angular/router"并在this.router.config数组中搜索我的数据,但这只给了我子路径child2而不是我需要导航的整个路径它,path1/child2。我可以在我的搜索功能中手动构建这些,但我想知道是否有更好的方法来实现这一点。

如何搜索包含特定数据的路线?

1 个答案:

答案 0 :(得分:0)

注入路线

 @Component({
 selector: 'my-app',
 template: `
   <div>
     <h2>Routes {{routes | json}}</h2>

      <router-outlet></router-outlet>
    </div>
 `,
 })
 export class App {
  routes;
  constructor(@Inject(ROUTES) routes: any) {
   this.routes = routes;
 }
}