收藏
回答

【bug】用户临时数组变量数据被强行缓存

问题模块
API和组件

前提:

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

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


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

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


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


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


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

最后一次编辑于  2017-08-03  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • LastLeaf
    LastLeaf
    2017-08-03

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


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

    2017-08-03
    赞同
    回复