wechat-miniprogram / glass-easel

Multiple-backend component-based JavaScript framework
MIT License
243 stars 34 forks source link

Android和Windows上界面初始化次数不一样 #206

Open 202225feng opened 1 month ago

202225feng commented 1 month ago

写了一个用wxs函数计数代码,基础库3.6.0后Android和Windows上运行不一样了。 界面一个计数器函数,函数被调用的时候会加一并返回次数。Android上一打开界面是1,Windows上是2. 代码片段::https://developers.weixin.qq.com/s/PwIK9UmS7uUo Android界面

initA

Windows界面:

initW

代码:

微信截图_20241014153307

LastLeaf commented 1 month ago

关于为什么不同,可以参考 #203 。有关 WXS 状态的问题,请参考 #205 。

至于为什么 Android 和 Windows 表现不同,可能是因为它们用到的 glass-easel 版本不同。可以打开 vConsole 的 system 栏看一下 WeChatLib 栏标注的实际基础库版本号。

202225feng commented 1 month ago

基础库版本都一样,都是3.6.2。基础库3.6.0之后出现的这个现象,测试过3.6.1、3.6.2和3.6.3都会这样。

LastLeaf commented 1 month ago

看起来是因为,在 PC 调试的时候,有时候会生成一次 reLaunch (参考 重加载 章节)。

因为 count 是个全局量,页面被二次加载它是会继续计数的。(所以说 wxs 函数被调用的时机是很难控制的。)