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

QQ登录

只需一步,快速开始

查看: 6184|回复: 21

[结贴] 页面多次跳转后,返回之前的页面,传递的参数丢失

[复制链接]

7

主题

30

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
发表于 2017-6-27 14:35:37 | 显示全部楼层 |阅读模式
本帖最后由 love20202 于 2017-6-27 14:39 编辑

使用的justep.Shell.showPage跳转页面,并传递参数。场景类似微博的关注功能。由A页(带参数)>B页(带参数)>C页(带参数)>B页>C页>B页>C页......俺返回键返回后,前面所传的参数就丢失了
发表于 2017-6-27 16:10:02 | 显示全部楼层
返回的页面默认是缓存的!就是上一次打开的页面状态!参数已经用过了!还需要再获取吗??
那你就在页面中定义个变量!每次获取参数时赋值给这个变量!缓存起来就可以了!

如果想回退的时候!也能传递参数!可以参考:
http://docs.wex5.com/wex5-ui-question-list-2037/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

7

主题

30

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
 楼主| 发表于 2017-6-29 13:51:52 | 显示全部楼层
liangyongfei 发表于 2017-6-27 16:10
返回的页面默认是缓存的!就是上一次打开的页面状态!参数已经用过了!还需要再获取吗??
那你就在页面中 ...

因为是多次打开同一个页面,并且传的参数是变化,导致返回的时候,参数就变成undefined了,history.back() 可以,但是效果不太好,会刷新页面
回复 支持 反对

使用道具 举报

发表于 2017-6-29 18:22:24 | 显示全部楼层
love20202 发表于 2017-6-29 13:51
因为是多次打开同一个页面,并且传的参数是变化,导致返回的时候,参数就变成undefined了,history.back( ...

页面不会刷新的!本来就是缓存的!,主要是你有没有刷新data组件数据!???
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

7

主题

30

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
 楼主| 发表于 2017-7-3 10:32:27 | 显示全部楼层
本帖最后由 love20202 于 2017-7-3 10:34 编辑
liangyongfei 发表于 2017-6-29 18:22
页面不会刷新的!本来就是缓存的!,主要是你有没有刷新data组件数据!??? ...

嗯,是data组件的刷新,因为传递的参数值改变了,肯定是要刷新data的
回复 支持 反对

使用道具 举报

发表于 2017-7-4 09:34:27 | 显示全部楼层
love20202 发表于 2017-7-3 10:32
嗯,是data组件的刷新,因为传递的参数值改变了,肯定是要刷新data的

如果参数变了~!
需要刷新data ! 为什么效果不好呢??.
可以先做判断!
如果 参数是 undefined 就不刷新数据了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

51

主题

195

帖子

757

积分

高级会员

Rank: 4

积分
757
QQ
发表于 2017-12-16 23:29:36 | 显示全部楼层
liangyongfei 发表于 2017-7-4 09:34
如果参数变了~!
需要刷新data ! 为什么效果不好呢??.
可以先做判断!

我也遇到了同样的问题如何先用缓存保存参数,然后返回这个页面时如何利用这个缓存页面不空白?
回复 支持 反对

使用道具 举报

发表于 2017-12-18 10:30:26 | 显示全部楼层
jyxl2007 发表于 2017-12-16 23:29
我也遇到了同样的问题如何先用缓存保存参数,然后返回这个页面时如何利用这个缓存页面不空白? ...

就在页面中定义个全局变量!!比如 this.value = '值'
每次获取   this.value 的值即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

51

主题

195

帖子

757

积分

高级会员

Rank: 4

积分
757
QQ
发表于 2017-12-18 13:21:11 | 显示全部楼层
本帖最后由 jyxl2007 于 2017-12-18 13:31 编辑
liangyongfei 发表于 2017-12-18 10:30
就在页面中定义个全局变量!!比如 this.value = '值'
每次获取   this.value 的值即可! ...

我弄了 这样 this.id=“值”;但还是打开了A页面,A页中打开了B页面,再页面B中再打开A页面 ,然后A页面后退了,再后退B页面就第一个A页面的 this.id=“值”丢失了页面变成空的了,这个怎么处理,是不是通过缓存来保存这个参数?或者有没有吧整个页面缓存的方法,不然A页面打开了参数值为=1的页面,然后打开A页面的参数值为=2页面后,前面打开的A页面被覆盖或退出时关闭了内存所以导致了这样的问题,有没有更好的方法解决此问题?这样页面循环打开就遇到这个问题有没有解决方法
回复 支持 反对

使用道具 举报

发表于 2017-12-18 15:51:15 | 显示全部楼层
jyxl2007 发表于 2017-12-18 13:21
我弄了 这样 this.id=“值”;但还是打开了A页面,A页中打开了B页面,再页面B中再打开A页面 ,然后A页面后 ...

请问你是单页应用的方式打开页面的吗?
http://docs.wex5.com/shellimpl/
也不是 使用windowDialog 打开的页面吧??

shell.showPage 打开的页面,默认都是会缓存的!你构造方法中,定义的变量this.id=“值”
只要没有重新赋值 这个值就会一直缓存的!
因为是单页应用嘛!! 变量只有一个!!如果重新赋值肯定会被覆盖的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 18:04 , Processed in 0.091232 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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