我为类方法创建了一个自定义装饰器,它依赖于装饰方法类的注入服务。这个装饰器依赖的注入是userService和authService。
这是装饰者:
export function authenticated(target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor) { let originalMethod = descriptor.value;
descriptor.value = function(...args: any[]) { if (!this.userService || !this.authService) { throw Error("Class must import userService and authService"); } if (!this.userService.isAuthenticated$.value) { return this.authService.openLoginSignup(); } return originalMethod.apply(this, args); };
}
我实现了一项检查,以确认服务是否正确导入父类,但问题是它只在调用修饰方法时被调用。
有没有办法将角度2注射剂注入装饰器或其他非组件?