起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: liwen0734

[已结贴] 打开子页面的问题

[复制链接]

59

主题

211

帖子

488

积分

中级会员

Rank: 3Rank: 3

积分
488
QQ
 楼主| 发表于 2018-6-15 05:17:15 | 显示全部楼层
测试成功,设置步骤如下:
1.在产品列表页里,对动态列表设置点击事件:打开子页面---不共享数据---传递参数(产品ID)。
2.在产品详情页面设置页面参数:产品ID,用来接收传递过来的参数。(ps:这步设置要最先设置,不然在产品列表设置传递参数时找不到传递的选择项)
3.在产品详情页的对商品动态数据集不做任何规则和编辑设置,但是要把自动模式设置为:自动新增。提示选择全部选为false.
4.在产品详情页里,对页面事件中的初次渲染完成事件设置组合操作:设置过滤条件(主键=页面参数产品id)---设置刷新数据集;接着对页面事件中的页面卸载事件设置组合操作:设置过滤条件(主键=1,这里1可以是任何主键中不存在的值)---设置涮新数据集;
完成上面4个大步骤,问题就解决了。

做实验测试结果显示:对于从产品列表中点击进入产品详情然后再返回产品列表的场景中,产品详情的页面事件按先后顺序只执行了“页面加载”,“页面显示”,“初次渲染完成”和“页面卸载”。而能对动态数据集操作的事件只有:初次渲染完成和页面卸载事件。如果对数据集的自动模式设置为:自动加载的话,除了第一次打开的产品,以后每次打开任何一个产品都会瞬间显示前一次打开的产品然后再加载当前打开的产品。所以我要在页面卸载事件里设置一个过滤,然后刷新找不到数据,也就是找到一个空数据。那么下次打开要打开的数据就只会显示为:空,我打开的数据。在视觉上就避免了:打开任何新数据前会出现上一次打开的数据的视觉效果。

来分析一下:
数据集为自动新增(数据集不会自动刷新加载数据),第一次打开产品详情,初次渲染完成:设置过滤刷新后,显示A产品,当返回产品列表页的时候,产品详情页执行页面卸载事件,如果我们对页面卸载事件做任何设置,此时产品详情页里的产品数据集里保存着A产品。第二次打开产品详情的时候,在产品详情页里的页面加载和页面显示执行完后依旧会显示产品数据集的一条数据这条数据就是A产品,只有当页面执行到初次渲染完成事件才会加载新的产品数据B。这个过程就会看到,打开第二次要打开的产品时会首先看到前一次打开的产品。所以要在打开任何一个产品之前让产品数据集里保留的是空白数据,所以我在页面卸载事件里设置了空数据过滤。


回复 支持 反对

使用道具 举报

59

主题

211

帖子

488

积分

中级会员

Rank: 3Rank: 3

积分
488
QQ
 楼主| 发表于 2018-6-15 05:30:45 | 显示全部楼层
注意啊,以上是手机运行速度不好的时候会出现的情况,如果运行速度很快是看不到上面现象的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-21 11:40 , Processed in 0.107692 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表