如题,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还是原本就是这样设置的机制,希望有好心人帮忙解惑下,谢谢了~(这是个很容易复现的现象,就不贴图了,大家可以试下)
老铁,最后怎么搞得呢,我这也遇到了
page外部的变量,在小程序初始化的时候就加载了,并且中途不会变的。。你可以试试,在非首页的页面的page外console.log一下,你会发现,根本没进的页面,也console出来了。如果需要销毁,可以写在page里,比如
Page({
data:{},
name: "卢霄霄"
})
突然发现自己一直都存在这个问题,在JS的顶部命名了许多的变量,然后页面关闭重新进入之后数值没有再次初始化,只能在onload里面重新初始化一遍,这样代码不仅冗杂,也不美观,而且在忘记了在onload里面重新初始化之后,还容易引起bug
问一下大神,你这边是怎么处理这种情况的
不放外面啊。。就放Page里,就和上面那个 name属性一样
这个意思吗,科室为什么我console打印的时候是undefined
啊哈 要 this.name 这么用啊。。不过这个和在onLoad里定义差不多
额,秀逗了...尴尬
看看是否跟这个问题一致?新版7.0微信!!获取不到全局数据问题
https://developers.weixin.qq.com/community/develop/doc/0006621d43cd785f06e7c888051400
模拟器上好的,真机上就不会初始化数据,这样很多动画都没法执行