Angular15调用JS库时如何接收回调函数传递的参数?
Angular 15 正确接收JS库回调参数的方法
你的问题出在箭头函数没有接收JS库call方法传递的参数,直接调用自定义回调时缺少必要参数导致TypeScript报错。只需在箭头函数中接住JS库传来的参数,再传递给你的回调方法即可:
callBackOK(base64: string) { console.log(base64); } callbackError(errorType: string, errorMessage: string) { console.log('ERROR: ' + errorType + errorMessage); } makeCall() { // 接收JS库回调参数并传递给自定义方法 this.JSLibrary.call( (base64) => this.callbackOK(base64), (errorType, errorMessage) => this.callbackError(errorType, errorMessage) ); }
说明:
- JS库的
call方法触发成功回调时会传入base64字符串,错误回调会传入errorType和errorMessage两个参数 - 箭头函数需要先接收这些参数,再转发给你定义的
callbackOK和callbackError,这样既满足TypeScript的参数校验,也能正常获取回调数据 - 箭头函数会自动保留当前组件的
this指向,无需额外绑定
内容的提问来源于stack exchange,提问作者TheKingVaro
相关产品推荐
相关产品推荐

