在角度路由器链接路径中使用静态变量

时间:2021-02-07 05:41:23

标签: angular typescript angular8 typescript3.0

在我的 angular 应用程序中,我有一个路径文件,其中所有路径变量都是静态的,如下所示。

export class PATHS {
    static LOGIN = "login";
    static HOME = "home";
}

在我的布局组件中,我在如下所示的路由器链接中使用它们

 <li class="nav-item" title="Home">
   <a class="nav-link" routerLinkActive="active" [routerLink]="['/' + PATHS.HOME]"> Home </a>
 </li>

出现构建错误属性“HOME”是“PATHS”类型的静态成员。

升级到 Angular 8 和 typescript 3.5 后,这在 Angular 6 中有效

我可以通过硬编码路径而不是从静态变量中使用它来解决这个问题,但我找到了更好的方法。有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

请尝试关注。

如果您的 PATHS 类位于另一个目录中,则将其导入到您的组件文件中,如下所示。

app.component.ts

import { Component } from '@angular/core';
import { PATHS } from 'your path here';

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

export class AppComponent  {
  public Path = PATHS;
}

app.component.html

<li class="nav-item" title="Home">
   <a class="nav-link" routerLinkActive="active" [routerLink]="['/' + Path.HOME]"> Home </a>
</li>