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

QQ登录

只需一步,快速开始

查看: 4259|回复: 17

[处理中3] W文件跳转到另一个W文件,再回来怎么保持不变

[复制链接]

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
发表于 2017-11-7 13:42:50 | 显示全部楼层 |阅读模式
是这样的,我在一个W文件里面放了一些商品,当我点击的时候跳转到另一个W文件展示这个商品的细节。可是当我点返回的时候,原来的W文件刷新了。。。。怎么能做到不刷新,保持原样。比如100个商品,我浏览到第76个,我跳转页面回来的时候 还停在76个,而不是刷新了,又变成第一个了。不知道我表达的清楚不。。
发表于 2017-11-7 13:50:49 | 显示全部楼层
你是如何打开另一个页面的!
如果是单页应用  : http://docs.wex5.com/shellimpl/

返回数据的时候,返回前一个页面,只要前一个页面的data组件没有刷新,就不会重新渲染的啊!
前一个页面默认会缓存的啊!  不会跳转到第一个页面的!

如果不是单页应用,当然就不会缓存了!  所以请参考仿途牛,仿淘宝,比如运行/UI2/demo/taobao/index.w

跳转到详细页回来是不会刷新的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
 楼主| 发表于 2017-11-7 14:06:42 | 显示全部楼层
liangyongfei 发表于 2017-11-7 13:50
你是如何打开另一个页面的!
如果是单页应用  : http://docs.wex5.com/shellimpl/

我就是按着这个例子做的,是不是 你说的那个前一个data组件刷新了啊,怎么控制data组件不刷新那?
回复 支持 反对

使用道具 举报

发表于 2017-11-7 14:09:35 | 显示全部楼层
renxuanjun 发表于 2017-11-7 14:06
我就是按着这个例子做的,是不是 你说的那个前一个data组件刷新了啊,怎么控制data组件不刷新那? ...

但是例子默认运行是没问题的!  list并没有刷新啊!

如果你没有自己写代码刷新的话! 默认是不会自动刷新的!

请问你是单页应用吗??index.w 中定义了shellImp 打开的功能,并且首页打开是index.w 就像仿淘宝一样!

运行仿淘宝是没问题的对吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
 楼主| 发表于 2017-11-7 14:17:27 | 显示全部楼层
liangyongfei 发表于 2017-11-7 14:09
但是例子默认运行是没问题的!  list并没有刷新啊!

如果你没有自己写代码刷新的话! 默认是不会自动刷 ...

恩 就是仿照着做的,刚才我又看了下,index.w 中 有 var ShellImpl = require('$UI/system/lib/portal/shellImpl');
然后跳转的页面 用这种方式justep.Shell.showPage("main");可是我点别的W页面之后再返回,就是刷新了,你懂我意思 我是不想刷新的。。。。对了,我的返回键是history.back(); 有问题吗
回复 支持 反对

使用道具 举报

发表于 2017-11-7 14:20:41 | 显示全部楼层
renxuanjun 发表于 2017-11-7 14:17
恩 就是仿照着做的,刚才我又看了下,index.w 中 有 var ShellImpl = require('$UI/system/lib/portal/sh ...

没问题啊!
你运行淘宝案例测试下!跳转到详细页后, 点击浏览器的回退或者执行  history.back();
list页面并没有改变的!

既然案例没问题!说明就是你代码问题!
你找下你的代码是否在哪儿调用了list.refresh  或者 data.refreshData()
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
 楼主| 发表于 2017-11-7 14:38:15 | 显示全部楼层
liangyongfei 发表于 2017-11-7 14:20
没问题啊!
你运行淘宝案例测试下!跳转到详细页后, 点击浏览器的回退或者执行  history.back();
list页 ...

我看了下,我从第二个页面回到第一个页面的时候,触发了接管刷新,怎么解决啊?
回复 支持 反对

使用道具 举报

发表于 2017-11-7 14:46:11 | 显示全部楼层
renxuanjun 发表于 2017-11-7 14:38
我看了下,我从第二个页面回到第一个页面的时候,触发了接管刷新,怎么解决啊? ...

触发了接管刷新??  
是onCustomRefresh 事件吗??那你就要判断,返回的时候不要触发呗!  这个逻辑需要自己实现!比如判断一下,如果参数为空就不刷新了!

什么代码里调用data.refreshData 方法的!  判断执行代码的条件!不是任何情况都触发的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
 楼主| 发表于 2017-11-7 14:46:18 | 显示全部楼层
liangyongfei 发表于 2017-11-7 14:20
没问题啊!
你运行淘宝案例测试下!跳转到详细页后, 点击浏览器的回退或者执行  history.back();
list页 ...

我跟仿淘宝的对比了下,也在仿淘宝哪里加了alert();标记,我的页面回到第一个页面时,运行了接管刷新,而仿淘宝就没有。这是怎么回事啊,我的代码里面就是history.back(); 返回啊。也没写别的啊,为什么我的又执行了一次接管刷新,这一执行。。。肯定刷新啊。。。
回复 支持 反对

使用道具 举报

56

主题

144

帖子

736

积分

高级会员

Rank: 4

积分
736
QQ
 楼主| 发表于 2017-11-7 14:53:18 | 显示全部楼层
liangyongfei 发表于 2017-11-7 14:46
触发了接管刷新??  
是onCustomRefresh 事件吗??那你就要判断,返回的时候不要触发呗!  这个逻辑需 ...

问题是怎么控制onCustomRefresh这个事件啊,我就用的history.back();方法啊,能教我一下history.back();方法返回时怎么不触发onCustomRefresh这个事件吗。。。我有点晕了。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-30 21:49 , Processed in 0.055718 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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