【bug】用户临时数组变量数据被强行缓存
发布于 6 年前 作者 fang72 16264 次浏览 来自 问答

前提:

P页:是文章列表页面。点击文章项目时,将在A页面打开,以阅读此文章内容。

A页:根据P页传入不同article id来显示文章内容的页面。

假设我在A页面定义了一个数组变量 ccArray,并用article的其中一些属性值对其进行赋值。然后我离开A页面,进入B页面,

并点击打开与之前不同的文章。这时,bug出现了。

这个bug就是之前赋过值的 ccArray 自动获得前页赋值的数据。这导致新打开的文章,有部分根据 ccArray 来展示的内容是之前文章的内容。

我在 onLoad 里跟踪 ccArray 没有发现赋值过程。但当我调用其中一个自定义函数时,ccArray 突然就有了数据。而我调用的这个自定义函数没有 ccArray 赋值过程。然后我对所有对 ccArray 进行赋值的语句设置了断点调试,但没有任何赋值语句被执行。‘

由此,我怀疑是不是系统自己缓存了我定义的临时数组 ccArray 的数据,然后在某个条件下,这个缓存数组被直接恢复。

1 回复

你好,我没完全明白你描述的问题。不过有一点需要说明:

如果你将ccArray定义在文件全局(Page构造器外面),那么它是个app级的全局变量,不会随着page创建和销毁而改变。

回到顶部