小程序返回上级页面后再次进入该页面,定义的全局变量未被重置
发布于 6 年前 作者 pingliao 14169 次浏览 来自 问答

如题,A页面跳转到B页面后,B页面在page上面定义了全局的变量,从B页面返回上级页面A后,再次进入B页面,会保留上次B页面全局变量更改后的数据,而不是重新初始化数据,例如在page上面定义了var num=0;onload函数里面,输出num后,num+=1;再次输出num,第一次输出的是0,1,返回A页面后再次进入B页面会输出1,2.这导致每次都要在page内部再次手动重置数据才行,否贼返回再次进入会一直这样保存上次的数据,这是bug还是原本就是这样设置的机制,希望有好心人帮忙解惑下,谢谢了~(这是个很容易复现的现象,就不贴图了,大家可以试下)

3 回复

老铁,最后怎么搞得呢,我这也遇到了

page外部的变量,在小程序初始化的时候就加载了,并且中途不会变的。。你可以试试,在非首页的页面的page外console.log一下,你会发现,根本没进的页面,也console出来了。如果需要销毁,可以写在page里,比如

Page({

    data:{},

    name: “卢霄霄”

})

回到顶部