场景:在之前都是可以正常运行的,今天突然发现编译成支付宝小程序, 下面代码获取不到弹窗的ref。后面又安装了uview-plus,使用它的弹窗也不行(编译成微信小程序不受影响)。
javascript
<uni-popup ref="popup" >
<text>Popup</text>
<button @click="close">关闭</button>
</uni-popup>
const popup = ref()
使用popup.value.open('center') 控制条报错,popup.value 打印结果为空
Cannot read properties of undefined (reading 'open')
降低node和HBuilderX版本都试过了没有效果,最后新开了一个demo,发现又正常了,经排查是根目录生成了一个新文件【mini.project.json】。该文件主要配置支付宝小程序项目编译、开发等功能,一般情况下用不到
解决方案:
一:使用vue2的选项式API,通过this来调用
二:查看根目录有没有这个文件,删除mini.project.json即可