采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问在调用test.getName()方法时,在装饰器中通过fn()方法执行。 如果test.getName()方法传递了参数,在装饰器中怎么将参数传入fn()执行呢
你用arguments不就可以了嘛
这样写也不行...等老师解答吧...
function catchError(msg: string) { return function (target: any, key: string, descriptor: PropertyDescriptor) { const fn = descriptor.value descriptor.value = function () { try { fn(msg) } catch (error) { console.log(msg) } } } } const userInfo: any = undefined class Test { @catchError(msg) // msg报错 getName(msg: string) { return msg } } const test = new Test() test.getName('student')
descriptor.value = function (...args: any[]) { try { fn.apply(this, args) } catch (error) { console.log(msg) } }
登录后可查看更多问答,登录/注册
Dell老师专为TypeScript小白打造的,全栈式教学TS入门课程
2.9k 13
1.8k 12
1.4k 11
1.5k 10
1.5k 8
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号