有没有办法在Angular 7中命名一条路线?
发布时间:2020-12-17 18:01:14 所属栏目:安全 来源:网络整理
导读:我想知道是否有办法在Angular7中命名我的路由,所以我可以调用[routerLink] =“myRouteName”而不是[routerLink] =“/ my / route / path”. 如果是这样,我怎么能做到这一点? 解决方法 考虑在创建路由配置时要配置路由名称. 让我们利用routes的数据属性为路
我想知道是否有办法在Angular7中命名我的路由,所以我可以调用[routerLink] =“myRouteName”而不是[routerLink] =“/ my / route / path”.
如果是这样,我怎么能做到这一点? 解决方法
考虑在创建路由配置时要配置路由名称.
让我们利用routes的数据属性为路由添加名称. (每条路线中的一小部分额外数据不应影响任何性能). 但首先,让我们创建一个包含静态属性的类来保存路由名称及其实际路径. export class RouteNames { public static routeNamesObject = {} } 现在,在您已定义路由的路由组件中,让它们像: const routes: Routes = [ {path: "hello/:id",component: HelloComponent,data: {routeName: "Hello1"}},{path: "hello",data: { routeName: "Hello2" }} ] 在此变量初始化之后设置RouteNames类的静态prop routes.forEach((eachRoute) => { RouteNames.routeNamesObject[eachRoute.data.routeName] = eachRoute.path; // now all route paths are added to this prop }) 在组件中创建一个公共变量来访问静态类 就像在app.component.ts中一样:(你不需要注射) public routeNames = RouteNames; 然后app.component.html将是这样的: <button [routerLink]="routeNames.routeNamesObject['Hello2']">Click to Navigate to Hello</button> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |