https://blog.csdn.net/qq_27127385/article/details/105665406
1、<div id="qrcode" ref="qrcode" style="width:200px;margin:auto;margin-top:18px;"></div>
使用这样的苹果手机可以识别,安卓无法识别,微信社区说 8.0后不支持,胡说。
2、参考之上的链接,可以实现苹果、安卓都可以识别,使用2个div来实现。
3、然后使用v-if 隐藏,发现不行,因为无法获取到元素,因为v-if修饰后不生成元素。之后改成v-show,页面使用display none 隐藏元素,可以获取到蒜素,到此搞定,耗时2小时。
4、使用v-show 页面卡,可能是因为组件与组件冲突,2个v-modle 就比较卡,于是决定使用一个组件,自己控制div显示隐藏。
<div class="insure-content" id="payWechats" :style="{display:(activeName==true?'block':'none')}">
<van-popup class="loadImgPop" v-model="payWechat" >
<div class="cell-ins-app" style="height:280px;width:280px;text-align:center; ">
<div id="qrcode" ref="qrcode" style="width:200px;margin:auto;margin-top:18px;"></div>
<p style="margin-top:10px; color:red;">扫描/长按二维码进行支付</p>
</div>
</van-popup>
</div>
改成:
<div class="payDiv" v-show="payWechat" >
<div id="QRCode" style="display: none;"></div>
<div id="myQRCode" style="margin-left: 18px;margin-right: 18px;margin-top:18px;"></div>
<p style="margin-top:10px; color:red;text-align: center;">扫描/长按二维码进行支付</p>
</div>
<div class="mask" v-show="payWechat" @click="closeMask">
</div>
重新写样式控制遮罩,于是问题解决,又耗时2小时,van-popup这个组件真的是坑爹。