Angular 从外部源以角度输入别名

Angular 从外部源以角度输入别名,angular,angular-directive,angular-components,Angular,Angular Directive,Angular Components,我正在编写指令,遇到了一个问题。我试图用这样的别名定义输入: 别名.enum.ts: export enum Alias { myAlias = 'myAlias' } mydirective.directive.ts import {Alias} from './alias.enum.ts'; @Input(Alias.myAlias) myAliasedInput: number; @Input('myAlias') myAliasedInput: number; 结果证明它

我正在编写指令,遇到了一个问题。我试图用这样的别名定义输入:

别名.enum.ts:

export enum Alias {
    myAlias = 'myAlias'
}
mydirective.directive.ts

import {Alias} from './alias.enum.ts';

@Input(Alias.myAlias) myAliasedInput: number;
@Input('myAlias') myAliasedInput: number;
结果证明它不起作用。但使用字符串文字作为输入别名没有问题:

mydirective.directive.ts

import {Alias} from './alias.enum.ts';

@Input(Alias.myAlias) myAliasedInput: number;
@Input('myAlias') myAliasedInput: number;

为什么它是这样工作的?

下面是我的评论,下面是正确的语法:

@Input(Aliases.myAlias) alias: string;
@Input(Aliases.myAlias) alias: Aliases.myAlias;

使用枚举或正确的类型键入它

试试吧,谢谢。它正在工作,但对我来说,给出自己的类型签名而不是特定的(数字等)类型有点奇怪。只需使用正确的类型(字符串不是数字)就可以了。我想我在别的地方犯了个错误。非常感谢。