为@Output() 和@Input() 分配别名显示 TSLint 错误

Assigning an Alias to @Output() and @Input() show TSLint Error

我正在尝试为@Output 分配别名,但出现 TSLint 错误,

export class CockpitComponent implements OnInit {
  @Output('bpCreated') blueprintCreated = new EventEmitter<{ serverName: string, serverContent: string }>();
  @Output('srvCreated') serverCreated = new EventEmitter<{ serverName: string, serverContent: string }>();

TSLint:在class"CockpitComponent"中,指令输出属性"serverCreated"不应该是renamed.Please,考虑以下使用“@Output() serverCreated = new EventEmitter();” (无输出重命名)

那么什么时候应该在 Angular 中为 @Output()@Input() 分配别名?

这是 tsLint 错误,很明显你不应该这样重命名它

任一

@Output() blueprintCreated ...

@Output() bpCreated ...

或者如果您坚持让它在每一行的顶部添加此注释,它会忽略它

// tslint:disable-next-line:no-output-rename
@Output('bpCreated') blueprintCreated

您可以从 Webstorm 首选项启用 tslint(并抑制当前行的错误)

我在我的代码中这样做了:

// tslint:disable-next-line:no-output-native
@Output() close = new EventEmitter();