在一些多平台开发中,可能就会选择uniapp这一款多端编译的平台,今天讲的就是使用 "智能小程序" 获取手机号的坑,我是怎么跳出来的
1.百度官方文档获取用户手机号
使用 button 方式回调
// 标签
<button open-type="getPhoneNumber" type="primary" bindgetphonenumber="getphonenumber">
联合登录/手机号授权组件
</button>
// js
getphonenumber(e) {
if (e.detail.encryptedData) {
swan.showModal({
title: '获取成功',
content: JSON.stringify(e)
});
}
else {
swan.showModal({
title: '获取失败',
content: JSON.stringify(e)
});
}
}
2.但是在uniapp中去使用,你会发现 getphonenumber回调的时候却找不到这个方法
报错为 on method found
解决方法来了,只需要把 bindgetphonenumber="getphonenumber" 改为 @getphonenumber="getphonenumber"
让uniapp 认识这个语法就可以了,举一反三,他的类似这样的通过标签回调的形式都差不多的