我想通过基于装饰器键入其输入来强制限制函数。
具体来说,我希望能够仅将具有 @UntilDestroy()
装饰器的页面传递给函数。
我怎样才能做到这一点?
export function applyToUntilDestroy(page: @UntilDestroy) { . . . } //do stuff
@UntilDestroy()
@Component({ . . .})
export class UDPage {
constructor() {
applyToUntilDestroy(this); //no error
}
}
@Component({ . . .})
export class NOUDPage {
constructor() {
applyToUntilDestroy(this); //tslint error
}
}