请吃我安利
请吃我安利
  • 发布:2023-04-06 10:21
  • 更新:2023-04-06 20:22
  • 阅读:769

【报Bug】uniapp 编译后到支付宝小程序,某些组件data值初始化获取不到修改不了,页面无法加载,而且进入不了生命周期

分类:uni-app

产品分类: uniapp/小程序/阿里

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

第三方开发者工具版本号: 3.4.3

基础库版本号: 3.4.3

项目创建方式: HBuilderX

操作步骤:

<template>
<view>
<!-- 返回顶部 -->
<u-back-top :scroll-top="scrollTop"></u-back-top>
<tabbar v-if="PageCur=='tabbar'" ref="tabbar"></tabbar>
<tabbarRecruit v-if="PageCur=='tabbarRecruit'"></tabbarRecruit>
</view>
</template>

tabbar组件
<template>
<view style="overflow: hidden;">
<index v-if="PageCur=='index'" :login="isLogin" @message='goMessage' ref="indexPage" ></index>
<myInfo v-if="PageCur=='myInfo' && showPoster()" ref="myInfo"></myInfo>
<zzp v-if="PageCur=='zzp'" ref="zzp"></zzp>
<hotJobs v-if="PageCur=='hotJobs'"></hotJobs>
<me v-if="PageCur=='me'" @message='goMessage' ></me>
<message v-if="PageCur=='message'"></message>
</view>
</template>
data(){
return {
PageCur: 'index',
};
},

预期结果:

index 组件出现

实际结果:

index 组件没有出现,但是去掉v-if 组件就可以出现,将v-if改为true组件也可以出现,但是使用了data中的数据组件就不能出现,在created生命周期里也打印不出任何东西,但是在微信全部可以正常运行

bug描述:

uniapp 编译后到支付宝小程序,某些组件data值初始化获取不到修改不了,页面无法加载,而且进入不了生命周期,编译到微信开发者是正常的

2023-04-06 10:21 负责人:无 分享
已邀请:
星拾夜暝

星拾夜暝

检查组件和API的兼容性
在uni-app官方文档中,有一份“支付宝小程序支持情况”文档,你可以查看这个文档,看看你使用的组件和API是否被支持。如果不支持,你可以尝试使用其他组件或API来替代。

使用条件编译
在uni-app中,可以使用条件编译来针对不同平台编写不同的代码。你可以在代码中加入以下代码:

#ifdef MP-ALIPAY  
// 针对支付宝小程序的代码  
#endif

在这个代码块中,你可以编写针对支付宝小程序的特定代码。这样可以保证在不同的平台上,代码都能够正常运行。

升级uni-app框架
如果你的uni-app框架版本比较旧,可能会存在一些兼容性问题。你可以尝试升级uni-app框架到最新版本,看看是否能够解决问题。

  • 请吃我安利 (作者)

    好的,谢谢您,我去看看问题出在哪里

    2023-04-06 10:41

星拾夜暝

星拾夜暝

我们需要检查一下是否是小程序版本的问题。如果是支付宝小程序版本较低,可能不支持某些 uniapp 的组件。这时候,我们需要升级支付宝小程序到最新版本,让其支持更多的组件和功能。

其次,我们需要检查一下组件的使用方式。有些组件在支付宝小程序中的使用方式和 uniapp 有所不同,需要特别注意。比如,小程序中的一些组件需要在父组件中使用 this.$refs.xxx 进行调用,而不是像 uniapp 一样直接使用 xxx。

最后,如果仍然无法解决问题,我们可以尝试修改一下组件的初始化方式。有时候,uniapp 编译后到支付宝小程序时,一些组件的初始化方式可能会发生变化,导致出现问题。这时候,我们可以尝试手动修改组件的初始化方式,让其适应支付宝小程序的要求。

YUANRJ

YUANRJ

请提供下可复现的测试工程

  • 请吃我安利 (作者)

    已经解决了哈,是之前的同事将页面当做组件使用啦.在微信小程序上没有问题,在支付宝上运行就会报错

    2023-04-11 10:15

要回复问题请先登录注册