MorJS 支付宝获取 props 中的函数返回值
- 问题表现: 在支付宝小程序中,可以直接通过
const result = this.props.onClick()
来获取到传入的函数的返回值。由于在微信等端外小程序中事件处理机制差异过大,因此需要通过异步方式来处理。 - 解决方案: 在所有获取函数返回值的地方都通过 await 来获取即可。而传入的函数不需要做任何改动,按照正常的方式 return 即可
- 参考代码:
传入方
aPage({
onComponentClick(...args) {
console.log(args)
return 'page-data' // 正常返回即可,不需要做任何特殊处理
}
})
调用方
aComponent({
methods: {
async onClick() {
const result = await this.props.onClick('1111111', '22222') // 需要await来拿返回值
console.log(result) // 打印输出 'page-data'
},
},
},