如何动态设置动态角路由?

时间:2019-10-11 19:53:09

标签: angular angular2-routing

我尝试通过以下两种方式在根组件ngOnInit的{​​{1}}内动态创建路由

app.component.ts

this.router.resetConfig([
  { path: 'news/:article-slug', component: ArticleComponent },
  { path: 'pages/:page', component: StaticPagesComponent },
  ...this.router.config
]);

但是当我在浏览器中输入URL时,这两种方法都不起作用。只有在URL由this.route.config.unshift( { path: 'news/:article-slug', component: ArticleComponent }, { path: 'pages/:page', component: StaticPagesComponent } ); 生成并且我单击它们的情况下,它们才起作用。

如何生成可通过在浏览器中输入URL来访问的动态路由?

1 个答案:

答案 0 :(得分:0)

必须将其放入app.component构造函数中,而不是将代码ngOnInit放入

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  constructor(private router: Router) {
    this.router.config.unshift(
      { path: 'page1', component: Page1Component },
      { path: 'page2', component: Page2Component }
    );
  }
}

致谢