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

QQ登录

只需一步,快速开始

查看: 2512|回复: 5

[结贴] 物理返回按键退出app问题

[复制链接]

18

主题

63

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
发表于 2017-6-28 17:43:59 | 显示全部楼层 |阅读模式
我做了一个门户页面是复制了taobao案例的index.w页面后,在此基础上修改的。页面设计部分没有修改,里面确实包括了windowContainer控件,且它的属性也没有修改,只是修改了js文件的一些内容。但是打包成app后,出现了cannot read property'getinnerModel' of undefined错误。我就把原index.js中的attachDoubleClickExitApp函数删了(因为这里面有代码getInnerModel())。删除后虽然不报前面的错误了,但是app在主页(也就是门户页面直接调用的页面)使用物理返回按键时,就会返回到门户页面。这个门户页面是空白的,返回的时候不好看。所以我还是想用上面的attachDoubleClickExitApp事件来处理返回事件。

另外我发现attachDoubleClickExitApp中有一句
shellImpl.pagesComp.contents[0].innerContainer.getInnerModel().comp('contents2').getActiveIndex() == 0
但是界面中没有xid为contents2的控件,但是taobao的index.w页面就是这么写的,不知道和这个有关系吗。
QQ截图20170628174005.png
QQ截图20170628173719.png

13

主题

313

帖子

399

积分

中级会员

Rank: 3Rank: 3

积分
399
QQ
发表于 2017-6-29 14:08:40 | 显示全部楼层
1)contents2组件是在main.w页中
2)你检查你的UI界面,是否多删除了东西
回复 支持 反对

使用道具 举报

18

主题

63

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-6-29 23:14:08 | 显示全部楼层
fanlingli 发表于 2017-6-29 14:08
1)contents2组件是在main.w页中
2)你检查你的UI界面,是否多删除了东西

我仔细对比了实在找不出和taobao案例中有什么差别,我又将原来的taobao案例中的index.w文件复制到了我的项目,还是不行。实在不知道什么原因了。求大神帮帮我。
回复 支持 反对

使用道具 举报

18

主题

63

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-6-29 23:14:24 | 显示全部楼层
fanlingli 发表于 2017-6-29 14:08
1)contents2组件是在main.w页中
2)你检查你的UI界面,是否多删除了东西

我仔细对比了实在找不出和taobao案例中有什么差别,我又将原来的taobao案例中的index.w文件复制到了我的项目,还是不行。实在不知道什么原因了。求大神帮帮我。
回复 支持 反对

使用道具 举报

发表于 2017-6-30 11:19:16 | 显示全部楼层
紫色的雪 发表于 2017-6-29 23:14
我仔细对比了实在找不出和taobao案例中有什么差别,我又将原来的taobao案例中的index.w文件复制到了我的 ...

物理返回键的理解
http://docs.wex5.com/wex5-app-question-list-2003/

你可以接管 attachDoubleClickExitApp   ,判断是主页的时候退出!
默认情况下就是主页退出的!

也可以论坛搜下类似的
http://bbs.wex5.com/forum.php?mo ... 6&pid=165463794
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

18

主题

63

帖子

167

积分

初级会员

Rank: 2

积分
167
QQ
 楼主| 发表于 2017-7-27 18:46:50 | 显示全部楼层
liangyongfei 发表于 2017-6-30 11:19
物理返回键的理解
http://docs.wex5.com/wex5-app-question-list-2003/

我终于找到了合适的返回方法(其实有点低级)。下面跟大家分享一下,希望能对大家有所帮助。
以前仿照taobao案例的方法,总是出现上述的错误,所以我就没有在用innerContainer来判断是否在主页,而是将改成了attachDoubleClickExitApp事件,改成了如图所示。
我是把index.w文件作为门户页,它加载时进行判断,如果用户还没登录就跳转到登录界面,登录成功后再跳转到main.w(APP 的主页),如果之前已经登录了就跳转到main.w。在登录和main.w时,我都想让它双击退出程序。因此,我编写了一下逻辑判断。
是当 shellImpl.pagesComp.getActiveIndex==1时不是登录页面就是主页 所以要双击退出;当第一次调用的是登录界面时,在从登录界面调用main.w时,在主页的时候shellImpl.pagesComp.getActiveIndex==2,此时也双击退出;登录界面时,一定双击退出。
attachDoubleClickExitApp函数,如果是正常的返回是一个操作,就返回false;如果是到了该退出的时候,就返回true(意思就是要双击退出了)。


以上是我的一个低级的解决方法,希望吧友批评指正。另外感谢官方小哥的耐心指导。请结帖吧。



file:///C:\Users\PRlab02\Documents\Tencent Files\1241499964\Image\C2C\Y(%~~TQ1ST)UYF]W~ES%T09.png



QQ图片20170727181953.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-25 07:34 , Processed in 0.066091 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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