好像是wepy框架(1.x,我用的是1.7.2)的bug,用原生的确没有问题,附上简单的测试代码 复现方法:打开当前页A后,再点里面的链接跳转到另一个页面B,然后点击按钮,数字增加到2,后退回A,在页面点击按钮,会发现数字直接是3 [代码]<template>[代码][代码] [代码][代码]<view>[代码][代码] [代码][代码]<view @tap=[代码][代码]"add"[代码] [代码]style=[代码][代码]"width:300rpx;background:#ccc"[代码][代码]>点击计数</view>[代码][代码] [代码][代码]当前按钮点击数:<text>{{count}}</text>[代码] [代码] [代码][代码]<navigator url=[代码][代码]"/pages/test?id=2"[代码] [代码]style=[代码][代码]"color:#00cc00"[代码][代码]>链接跳转</navigator>[代码][代码] [代码][代码]</view>[代码][代码]</template>[代码] [代码]<script>[代码][代码]import wepy from [代码][代码]'wepy'[代码][代码];[代码] [代码]export [代码][代码]default[代码] [代码]class Index extends wepy.page {[代码][代码] [代码][代码]config = {}[代码] [代码] [代码][代码]data = {[代码][代码] [代码][代码]count: 0[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]methods = {[代码][代码] [代码][代码]add() {[代码][代码] [代码][代码]this[代码][代码].count++;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]onLoad() {}[代码] [代码]}[代码][代码]</script>[代码]
发现一个navigator页面后退的bug有两个页面A(page/a?id=1)、B(page/a?id=2),都有初始变量test为0, 当用navigator (open-type为默认值)先打开一个A页面,在A页面里再通用navigator打开B页面 在B页面进行操作(如把其中的test值设置为2),然后后退,再在A页面获取test时,会发现不是初始值0,而是2 如果先打开A页面并在A页面把test值设置为2,再打开B页面,则B页面的test值是0,正常的。
2019-08-20