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

QQ登录

只需一步,快速开始

查看: 1553|回复: 5

[处理中3] 页面曾经跳转过多后,返回到最初的页面,数据丢失

[复制链接]

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
发表于 2017-6-19 16:40:12 | 显示全部楼层 |阅读模式
本帖最后由 不老刘 于 2017-6-19 16:43 编辑

有个需要参数的页面A,通过A可以进入页面B,B是个列表页,通过B还可以进入A,这个时候在A页面执行两次返回(关闭)操作,再次回到最初那个A页面的时候,参数没了,页面加载失败了。

另一个问题

还是这个A页面,里面带有carousel 组件,通过A进入B,B再进入(不是返回,是继续跳转到)A,会发现A页面的carousel组件里面的内容是两次内容的加和了,试着用carousel.removeAll(),不起作用。
发表于 2017-6-19 16:55:17 | 显示全部楼层
可以在变量中保存一下第一次接受到的参数值!
比如 this.bianliang = 参数

第二次的打开此页面的时候,如果接受到的参数为空!就使用第一次缓存的变量值!


本地测试淘宝案例
/UI2/demo/taobao/main.w
调用
this.comp('carousel1').removeAll();

可以正常删除所有循环图片的!
没问题

你是哪个版本?
试试/UI2/demo/taobao/main.w 正常吗??

可以判断嘛,如果第二次接受的参数和缓存变量的参数一样!就不执行新增代码了嘛!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-6-20 08:07:40 | 显示全部楼层
本帖最后由 不老刘 于 2017-6-20 09:40 编辑

第一个问题,按你说的那样保存一个bianliang不可行吧。

比如说我第一次访问A的时候参数是2,进入B后,再进入参数为3的A页面,那如果用一个bianliang保存参数,那从参数为3的A后退到B,再返回到第一次那个A的时候,参数就是3,而不是2了。

第二个问题也是这样。我用的3.6版本
另外carousel的removeAll方法为什么不起作用呢



回复 支持 反对

使用道具 举报

发表于 2017-6-20 10:14:30 | 显示全部楼层
不老刘 发表于 2017-6-20 08:07
第一个问题,按你说的那样保存一个bianliang不可行吧。

比如说我第一次访问A的时候参数是2,进入B后,再进 ...

如果想要回退也能传参
只能参考:http://docs.wex5.com/wex5-ui-question-list-2037/
打开页面的时候!先传到一个自定义函数过来!离开此页面的时候!再调用这个函数将参数传回去!
或者派发事件实现!


carousel的removeAll方法 我这里测试/UI2/demo/taobao/main.w 正常的!
没问题呢的!
你试过了也不行吗??
wex5版本是多少?
建议换最新版本试试吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-6-20 10:16:00 | 显示全部楼层
本帖最后由 不老刘 于 2017-6-20 10:26 编辑

用的wex5 3.6的,另外我的每次后退操作,执行的其实都是页面关闭,我现在用的方法是存了个session,这样起码不会参数丢失页面报错。不过session里存的数值就是执行第一次返回时的那个产品ID,而不是最初的那个产品ID了。
回复 支持 反对

使用道具 举报

发表于 2017-6-20 10:34:31 | 显示全部楼层
不老刘 发表于 2017-6-20 10:16
用的wex5 3.6的,另外我的每次后退操作,执行的其实都是页面关闭,我现在用的方法是存了个session,这样起 ...

wex5 3.6  
那你有没有使用这个案例
/UI2/demo/taobao/main.w
放个button
调用

  1. this.comp('carousel1').removeAll();
复制代码


如果想将参数保存起来!可以定义个全局变量,比如:
window.id = '01'
也可以存储在localStorage中!
这样每一个页面只要取window.id  或  localStorage 中的最新值就可以了!


不过我觉得!上一个页面只要判断,如果没有参数!不刷新data组件!data就使用缓存的数据!页面也直接显示上一次缓存的页面就可以了啊!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 16:35 , Processed in 0.075503 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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