setData和wxs函数一块使用时会有bug。代码中使用wxs模块中的函数处理js中setData变更的数据时,开发工具和真机上实际执行情况不符合代码逻辑:1、开发工具上和Android客户端上wxs函数响应的次数不一致;两者调用wxs中处理函数的范围都不符合预期;2、没有数据变更的wxs函数也会被调用。
代码示例:https://developers.weixin.qq.com/s/NAli9tmo7KU3
代码实现了一个点击change计数的小程序,其中setData变更了计数1的参数。
代码截图:
wxml:
wxs:
js:
操作流程:
开发工具上,从初始界面到点change按钮3次的结果:
真机上,从初始界面到点change按钮3次的结果:
问题:
1、开发工具上点击一次计数加一,Android和Windows上从第二次开始点击一次计数加2。不同平台计数不同,即执行setData改变数据后wxs函数响应次数不同。
2、setData变更的数据时JSData对应的只有wxs函数中的COUNT函数,但在变更JSData没变更JSData2的情况下,与JSData2对应的COUNT2函数也会被调用。
你把app.json里面skyline相关的配置去掉就恢复正常了,看着是因为在真机skyline模式下,wxs被初始化了2次