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

QQ登录

只需一步,快速开始

查看: 7691|回复: 19

[结贴] 关于路由的问题

[复制链接]

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
发表于 2015-10-22 11:20:41 | 显示全部楼层 |阅读模式
当我在index.w的modelLoad方法里openWindow('main').done(function(){openWindow('login');)
加载过一次以后,我在代码里把openWindow('login')注释掉了,重新加载google浏览器
openWindow('main')了以后,为什么会帮我自动路由到了login?
这样的话逻辑就出问题了,如果我不注释openWindow('login')的话,会发现login会打开两次
openedPageHistory里面竟然是['main','login','login']
我把index.w里面的pages下面的设置成false,也不行。
求解释!

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 11:47:54 | 显示全部楼层
ShellImpl里代码跟过,有些地方不是很理解,所以大神帮忙解决一下
回复 支持 反对

使用道具 举报

发表于 2015-10-22 12:02:25 | 显示全部楼层
是因为有缓存吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 12:59:22 | 显示全部楼层
那如何去掉缓存呢?我不可能每次去调试都要手动去一下缓存吧?
回复 支持 反对

使用道具 举报

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 13:00:24 | 显示全部楼层
而且如果有缓存的话,那逻辑也不对了。。。只有第一次打开是对的,以后打开,就会变成打开两次login页面,后面的逻辑肯定都不对了
回复 支持 反对

使用道具 举报

发表于 2015-10-22 13:17:30 | 显示全部楼层
kevinnu 发表于 2015-10-22 13:00
而且如果有缓存的话,那逻辑也不对了。。。只有第一次打开是对的,以后打开,就会变成打开两次login页面, ...

请问您测试的哪个文件?路径是什么?openWindow是指的.Portal中的方法吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 13:47:45 | 显示全部楼层
liangyongfei 发表于 2015-10-22 13:17
请问您测试的哪个文件?路径是什么?openWindow是指的.Portal中的方法吗?

我是严格按照你们的门户做法做的,基本上是全部调用shellimpl里面的api的,这样,稍后我做一个测试用例上传
回复 支持 反对

使用道具 举报

10

主题

897

帖子

1909

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1909
QQ
发表于 2015-10-22 13:50:03 | 显示全部楼层
修改代码后,刷新页面会重新打开login 是因为你刷新前的url是带login的,把url中#后面的去掉刷新就没有问题了,这就是路由的一个特性,刷新页面会回到刷新前的状态(包括页面以及页面中带路由的组件都会回复).

openedHIstory 只是个历史,不影响逻辑,有2个login是因为第一个是代码要进入login 第二个是路由要进入login,但是login页面只会打开一次,历史中有2个login不会有其他影响。
qq上找我时候,不要问我在不,直接发问题,我看到后会去论坛回复你的帖子。
回复 支持 反对

使用道具 举报

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 15:24:01 | 显示全部楼层
007slm 发表于 2015-10-22 13:50
修改代码后,刷新页面会重新打开login 是因为你刷新前的url是带login的,把url中#后面的去掉刷新就没有问题 ...

会出问题的,举个例子,['main','login','login'],这是我打开login页面后的状态,这个时候我点击左上角箭头关闭login页面,调用了closePage,这个时候这个openedHIstory会剔除掉一个'login',还剩下['main','login'],然后closePage里又调用了var toPageXid = this.openedPageHistory[this.openedPageHistory.length-1];
这个时候取得的又是'login',然后。。。就没有然后了,出错了,跳出来一个空白页面,我上传一下测试用例,你们可以测试一下
回复 支持 反对

使用道具 举报

99

主题

375

帖子

816

积分

高级会员

Rank: 4

积分
816
QQ
 楼主| 发表于 2015-10-22 15:25:30 | 显示全部楼层
测试用例~~

test.zip

30.32 KB, 下载次数: 589

测试用例

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-24 19:07 , Processed in 0.085422 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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