我希望在类上面有特定的装饰器时自动初始化类,例如:
@apiController
export class usersControllers extends lib.baseClasses.apiControllerBase().apiController {
@lib.decorators.routesRegister().register({ "url": "/login","isLoginUrl":true})
public postLoginUser($data) {
let userDetails = {
name: 'pranay dutta',
userType: '1', // must
age: '26',
tokenExpiry:5000000 // must
};
setTimeout(() => {
this.ok(userDetails);
}, 100);
return this.promise;
}
}
在上面的示例中,当我使用@apiController
装饰器时,它应该自动为我启动课程,请帮我解决问题
答案 0 :(得分:1)
我会做像
这样的事情function apiController(target: any)
{
let obj = new target.constructor();
}
更新。 为了强制装饰者开火,我使用以下技巧。在同一个模块中添加虚函数,如下所示:
export function Seed() { }
然后只需在初始化例程或系统中调用它。这将强制该模块中的所有装饰器触发。