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

QQ登录

只需一步,快速开始

查看: 1868|回复: 6

[结贴] 用shell.showPage打开的页面调用this.close无法关闭

[复制链接]

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
发表于 2017-3-1 10:23:19 | 显示全部楼层 |阅读模式
如题,通过index.w打开login.w,然后在login.w里调用this.close(),设置close的回调函数modelUnLoad(),modelUnLoad函数里打印"login销毁",但发现调用this.close后,无任何反应,也无报错信息,求解

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
 楼主| 发表于 2017-3-1 10:25:51 | 显示全部楼层
发现用pageMapping的话,this.close无效,而用绝对路径打开login.w,例如shell.showPage(justep.toUrl(./login.w)),则this.close就会生效 求救~~~
回复 支持 反对

使用道具 举报

发表于 2017-3-1 11:21:34 | 显示全部楼层
本地使用仿淘宝
在list中/UI2/demo/taobao/list.w
按钮使用this.close()关闭当前页
modelUnLoad 事件是可以正常触发的!


它的案例就是用pageMapping大开的!并且运行是正常的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
 楼主| 发表于 2017-3-1 11:35:45 | 显示全部楼层
liangyongfei 发表于 2017-3-1 11:21
本地使用仿淘宝
在list中/UI2/demo/taobao/list.w
按钮使用this.close()关闭当前页

好的,我试试看
回复 支持 反对

使用道具 举报

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
 楼主| 发表于 2017-3-1 12:55:47 | 显示全部楼层
本帖最后由 antegg 于 2017-3-1 12:59 编辑
liangyongfei 发表于 2017-3-1 11:21
本地使用仿淘宝
在list中/UI2/demo/taobao/list.w
按钮使用this.close()关闭当前页

经过测试发现:
如果当前页面是目前唯一一个打开的页面,则this.close()无效,也就是说,如果从项目启动开始我依次打开页面:A->B->C,则C和B调用this.close()是生效的,但A再调用this.close就无效了,因为A是最后一个存活的页面。

正如我的项目,我的项目是,index.w没有放置main页面, 项目启动后首先打开login.w, 然后登录,收到登录成功消息后,调用this.close()关闭login.w并调用shell.showPage()跳转至main.w, 但this.close()函数无效,不过能成功跳转至main.w   如果我main.w放置在index.w里,启动后main.w就变成了第一个页面,此时login.w里的this.close就会生效了,因为关闭login.w还有main.w活着。。。。

总结一句:this.close遵循"至少有一个活着"的原则,否则调用无效~~~

以上分析不知是否正确
我尝试在this.close()前先调用shell.showPage(“main”),试图先让main存活然后再关闭login,但依然无效~~~~
回复 支持 反对

使用道具 举报

发表于 2017-3-1 13:51:53 | 显示全部楼层
antegg 发表于 2017-3-1 12:55
经过测试发现:
如果当前页面是目前唯一一个打开的页面,则this.close()无效,也就是说,如果从项目启动开 ...

正常打开的单页应用肯定是能正常关闭的!也就是index.w必须作为首页进去的!并且里面定义shellImp
单页应用的定义:
http://docs.wex5.com/shellimpl/
index.w 中有没有放置windowContainer呢??如果有的话!他就是主页!

如果index.w 中的contents 没有放置 content就没有主页!第一次打开的页面不能关闭(作为主页)!其他关闭都正常

你先使用仿淘宝案例测试一下!怎样打开页面才会出现你所描述的情况!我这里里都是正常的!!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
QQ
 楼主| 发表于 2017-3-1 14:22:03 | 显示全部楼层
liangyongfei 发表于 2017-3-1 13:51
正常打开的单页应用肯定是能正常关闭的!也就是index.w必须作为首页进去的!并且里面定义shellImp
单页应 ...
如果index.w 中的contents 没有放置 content就没有主页!第一次打开的页面不能关闭(作为主页)!其他关闭都正常


我的情况就是你上面说的这个情况。

可以结贴了,十分感谢你的耐心解答~~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 05:02 , Processed in 0.117658 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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