首页 > 解决方案 > 我希望子路由是动态的,就像我点击类别并在组件中生成 url

问题描述

routing.module.ts: 我希望子路由是动态的就像我点击类别并在组件中生成 url。我希望 url 的快照用作routing.ts. 我怎么能那样做?

Routes = [
    {
        path: '', component: SettingsComponent,
        children: [
        {
            path: 'settingId', component: SettingsComponent
        }
    }
]

组件.ts:

ngOnInit() {
        this.settingId = this.router.routerState.snapshot.url;
});

标签: angulartypescriptangular5angular6

解决方案


首先将路由导入要更改路径的组件。然后您可以访问组件中的路由并更改路径值。

app.routing.ts:

export let routes: Routes = [
    {
        path: '',

        component: exampleComponent,

        children: [

            {

                path: '',

                component: SettingsComponent
            }
      }
]

示例组件.ts:

// importing routes
import { routes } from '../app.routing';

// i'm changing it in ngOnInit for example.
ngOnInit() {
 this.settingId = this.router.routerState.snapshot.url;
 routes[0].children[0].path = this.settingId;

}

推荐阅读