我尝试通过以下两种方式在根组件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来访问的动态路由?
答案 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 }
);
}
}
致谢