加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

有没有办法在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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读