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

QQ登录

只需一步,快速开始

查看: 2470|回复: 8

[处理中3] app返回键问题

[复制链接]

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
发表于 2017-6-28 14:12:21 | 显示全部楼层 |阅读模式
用安卓建返回,每次都是返回上一下操作,有的时候明明已经退到首页了,再点返回应该是退出了,结果,又回到上一步操作了。请问怎么解决,这个返回键逻辑的问题

13

主题

313

帖子

399

积分

中级会员

Rank: 3Rank: 3

积分
399
QQ
发表于 2017-6-28 14:15:23 | 显示全部楼层
参照文档,使用门户的方式做应用试试:http://docs.wex5.com/shellimpl/
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-6-28 14:53:02 | 显示全部楼层
我就是按照门户的例子做的啊。我想解决的问题就是返回时候的逻辑有问题。但是不知道怎么改。
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

8

主题

1141

帖子

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
QQ
发表于 2017-6-28 15:32:26 | 显示全部楼层
http://docs.wex5.com/wex5-app-question-list-2003/  可以先试试外卖案例是否也有你说的这种情况
回复 支持 反对

使用道具 举报

发表于 2017-6-29 13:32:45 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-6-28 14:53
我就是按照门户的例子做的啊。我想解决的问题就是返回时候的逻辑有问题。但是不知道怎么改。 ...

参考4楼
应该接管  attachDoubleClickExitApp   判断当前显示的页面是主页!  就return true ,  就不会路由回退了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-7-22 16:06:53 | 显示全部楼层
liangyongfei 发表于 2017-6-29 13:32
参考4楼
应该接管  attachDoubleClickExitApp   判断当前显示的页面是主页!  就return true ,  就不会 ...

怎么接管attachDoubleClickExitApp ,具体怎么写呢?不是很懂啊
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

发表于 2017-7-24 10:57:55 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-7-22 16:06
怎么接管attachDoubleClickExitApp ,具体怎么写呢?不是很懂啊

参考仿淘宝案例啊!
在index.w 的onLoad事件中

代码表示如果当前页是主页就return true;  否则return false
if (shellImpl.pagesComp.getActiveIndex() === 0 && isHomePage)
就是判断是不是主页呢!

  1. CommonUtils.attachDoubleClickExitApp(function() {
  2.                        
  3.                         var isHomePage = shellImpl.pagesComp.contents[0].innerContainer.getInnerModel().comp('contents2').getActiveIndex() == 0;
  4.                         if (shellImpl.pagesComp.getActiveIndex() === 0 && isHomePage) {
  5.                                 return true;
  6.                         }
  7.                         return false;
  8.                 });
复制代码


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

168

主题

744

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
QQ
 楼主| 发表于 2017-7-24 14:27:05 | 显示全部楼层
  1. shellImpl.useDefaultExitHandler = false;

  2.                 CommonUtils.attachDoubleClickExitApp(function() {
  3.                         var isHomePage = shellImpl.pagesComp.contents[0].innerContainer.getInnerModel().comp('pages').getActiveIndex() === 0;
  4.                         if (shellImpl.pagesComp.getActiveIndex() === 0 && isHomePage) {
  5.                                 return true;
  6.                         }
  7.                         return false;
  8.                 });
复制代码

为啥会出现报错啊,不是很懂啊。怎么改?

这是我的页面结构

这是我的页面结构

这是登陆完成的时候跳转的页面

这是登陆完成的时候跳转的页面

这是出现的错误

这是出现的错误
个人QQ:85969042

         欢迎大手子带我飞~
                          ┌───────────┐
                           |  ▉▉▉▉▉▉▉▉ 99%   │       苞米地里的蒙面侠                 
                          └───────────┘
回复 支持 反对

使用道具 举报

发表于 2017-7-24 14:52:37 | 显示全部楼层
爱喝牛奶的面包 发表于 2017-7-24 14:27
为啥会出现报错啊,不是很懂啊。怎么改?

你要理解他的意思!不要盲目的抄代码!
报错是 getActiveIndex 方法不存在

它的这行代码意思是
获取index 中contents组件字下的第一个content  下面的windowContainer组件中的w页面 model对象
这个w页面中有个contents组件,xid是 pages

获取这个w 页面中的contents.getActiveIndex()  激活页面的索引,如果等于0,就是表示contents中的第一个content 处于显示状态!

这个时候表示当前页是主页,就return true;

你应该参考它的思路!而不是照搬代码
你也是获取当前显示的页面是不是主页,进行判断的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-11 01:30 , Processed in 0.079451 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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