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

QQ登录

只需一步,快速开始

查看: 2306|回复: 8

[处理中5] showPage方法是否支持带路由的url

[复制链接]

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-5-3 15:37:18 | 显示全部楼层 |阅读模式
有关路由的介绍看过后,发现不错,用它可以让打开的页面快速定位到自己想要的标签页、位置或自动打开对话框等。showPage方法打开页面可以传递参数,其中第二种参数传递是自动构造在url的#后面的,这和路由相似,但没找到自己指定页面路由的调用方法,是否支持,是否有示例?
发表于 2016-5-4 16:49:46 | 显示全部楼层
你是指的路由 回退和前进方法吗?这个是js自己提供的!
调用 history.back() 就可以实现!

页面交互可以参考:http://doc.wex5.com/page-interaction/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
 楼主| 发表于 2016-5-5 18:42:09 | 显示全部楼层
不是那个意思,比如我要访问main.w文件,但是要指定userContent内容,url是这样的(前面的地址我省略了,都看得懂):
index.w#!main//(#!userContent)
如果我直接showPage打开这个main.w文件,将访问这个url:
index.w#!main//(#!homeContent)
我没办法指定那个特殊的userContent页面路由,唯一可以做的就是直接设置当前页面的location.href属性,做页面强制跳转,难道showPage不支持吗?
--------------------------
再问个问题,如何记录其它页面的model,我这个a页面showPage了一个b页面,b页面showPage了一个c页面,c页面完成操作后,想跳转到a页面,但希望同时将b页面和自身这个c页面关闭,如何实现?
回复 支持 反对

使用道具 举报

发表于 2016-5-6 10:39:53 | 显示全部楼层
qldsrx 发表于 2016-5-5 18:42
不是那个意思,比如我要访问main.w文件,但是要指定userContent内容,url是这样的(前面的地址我省略了,都 ...

1. 你是指的 调用 showPage的时候,同时指定跳转到的页面切换到指定的content,是这样吗??
目前可以使用派发事件的方式来解决!(但是要求那个页面必须是加载过的:)http://bbs.wex5.com/forum.php?mo ... 7&pid=165202121
当然也可以通过传递参数的方式,在那边接受参数判断切换到那个content(不过这样是有个过渡的效果的!)

2.   closePage(null,false,toPageXid);  closePage的第三个参数表示跳转到那个页面!你可以执行完关闭c页面后跳转回A 页面(第三个参数设置为A页面)
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
 楼主| 发表于 2016-5-6 12:46:16 | 显示全部楼层
可是B页面还存在着,C页面是关闭了自身后跳转,B页面能否也关闭呢?showPage打开过的页面,只要不主动调用close,永远是开着的,虽然当前界面看不到。B页面要保留到C页面完成后才能关闭,因为可能有退回操作。但C页面一旦完成,B页面就可以关闭了,不再需要留着。
回复 支持 反对

使用道具 举报

发表于 2016-5-6 15:20:54 | 显示全部楼层
qldsrx 发表于 2016-5-6 12:46
可是B页面还存在着,C页面是关闭了自身后跳转,B页面能否也关闭呢?showPage打开过的页面,只要不主动调用c ...

closePage 方法也可以指定url地址!你可以执行代码,顺便把B页面也关闭掉的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
 楼主| 发表于 2016-5-6 16:06:13 | 显示全部楼层
但是我不知道B页面的对象,请问this.owner是否可以得到呢?文档里只有说,对话框可以用owner得到父页面,没有说普通页面啊。另外还有一段原话:
Shell打开页面

WeX5中,Shell负责管理所有的页面;在同一时刻,允许多个页面同时运行,有且只有一个活动页面(即当前页面)。

我的需求很简单,你的Shell给我一个方法,让我得到当前全部打开着的页面对象Model,我好统一管理他们的关闭。
回复 支持 反对

使用道具 举报

发表于 2016-5-6 17:46:58 | 显示全部楼层
qldsrx 发表于 2016-5-6 16:06
但是我不知道B页面的对象,请问this.owner是否可以得到呢?文档里只有说,对话框可以用owner得到父页面,没 ...

你好楼主,这个特性目前版本不支持,已作为产品功能建议提交(内部编号:2016050600022),感谢楼主的支持与配合。
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

897

帖子

1909

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1909
QQ
发表于 2016-5-9 09:42:15 | 显示全部楼层
本帖最后由 007slm 于 2016-5-9 09:47 编辑

1. showpage 第二个参数是传递给打开页面的参数 ,可以在被打开页面中通过onParamReceive事件接收参数做你的content跳转。
2.  shellimp上有个函数  getOpenedPages能获取到所有打开的页面 但是这个函数不是作为shell的函数提供是因为没有找到理由在被打开的页面中获取所有打开页面的需求,一般来说管理页面之间的是否关闭是shell来维护或者创建shellimpl的index.w中来维护,然后在打开页面中通过事件和index.w进行交互,所以你可以在index.w中通过shellimpl实例调用getOpenedPages这个函数。但是记得每次使用都建议你重新获取,不要用局部变量存储,防止页面关闭后你持有了引用影响内存回收,这块有兴趣可以参考门户的实现,因为是很好的实现了shell上的各种页面维护情况。如果你需要在a中关闭c和b可以用这个函数实现,但是你是不是也适当考虑下windowDialog方式 ,感觉你的需求用dialog也挺方便的a弹出dialog b然后b弹出dialog c 然后c关闭的时候在a中关闭b就可以了。

qq上找我时候,不要问我在不,直接发问题,我看到后会去论坛回复你的帖子。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 03:31 , Processed in 0.055691 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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