我有以下课程:
export abstract class CanDeactivateComponent {
abstract canLeavePage(): boolean;
abstract onPageLeave(): void;
@someDecorator
abstract canDeactivateBeforeUnload(): boolean;
}
Run Code Online (Sandbox Code Playgroud)
我得到了错误A decorator can only decorate a method implementation, not an overload。我知道在这种情况下我不能放置装饰器,但是可以应用哪种解决方法以便我强制@someDecorator之前使用此类的所有实现canDeactivateBeforeUnload?有没有办法将这个装饰器放在抽象类本身中,这样我就不必在所有实现中编写它?
谢谢你!
我想这取决于上下文,但也许使用代理可以为您工作的方法?
export abstract class CanDeactivateComponent {
abstract canLeavePage(): boolean;
abstract onPageLeave(): void;
abstract canDeactivateBeforeUnload(): boolean;
@someDecorator
_canDeactivateBeforeUnload(): boolean {
return this.canDeactivateBeforeUnload()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3498 次 |
| 最近记录: |