angular - 在 [routerlink] 中传递一个枚举:Angular 7
问题描述
我有以下枚举:
export enum InternalUrls {
Login = '/login',
Register = '/register'
}
...在我Component
的 html 中,我有以下内容:
<div class="forgot-phone text-right f-right">
<a [routerLink]="InternalUrls.Register" class="text-right f-w-600"> Don't have an account? <i class="text-c-blue">Register</i></a>
</div>
我想在一个地方管理我的所有链接。我该怎么做,因为我的 IDE 已经在抱怨上面的代码了?IE[routerLink]="InternalUrls.Register"
解决方案
您的模板只能访问组件类中的变量。如果它不是组件类的属性,则它在您的模板中将不可用。在你的.component.ts
:
export enum InternalUrls {
Login = '/login',
Register = '/register'
}
@Component({
...
})
export class MyComponent {
internalUrls = InternalUrls;
....
}
在您的模板中:
<div class="forgot-phone text-right f-right">
<a [routerLink]="internalUrls.Register" class="text-right f-w-600">
Don't have an account?
<i class="text-c-blue">Register</i>
</a>
</div>