Ionic APP-Web SPA开发进阶(二)Ionic进阶之路由去哪了

举报
SHQ5785 发表于 2020/12/30 01:23:57 2020/12/30
【摘要】 Ionic进阶之路由去哪了 项目需求       在查看药品时,从药品列表中可以通过点击药品列表获取某一药品详情。提交订单时,同样可以查看药品详情。两种情形下,从药品详情返回后,应分别返回至原来的页面。如下图所示。                   现状是第一次添加的药品从提交订单路由至订单详情,但却不可以从药品详情返回至提交订单页面,而是返回到了药品列表中,但是在...

Ionic进阶之路由去哪了

项目需求

      在查看药品时,从药品列表中可以通过点击药品列表获取某一药品详情。提交订单时,同样可以查看药品详情。两种情形下,从药品详情返回后,应分别返回至原来的页面。如下图所示。

           

      现状是第一次添加的药品从提交订单路由至订单详情,但却不可以从药品详情返回至提交订单页面,而是返回到了药品列表中,但是在第二次点击后,却可以正确返回至订单提交页面。

      通过阅读代码发现并没有手动添加返回路由的情况,返回的轨迹应该是Ionic内部实现的。但是两次返回的路由却不一致令人费解。反过来想想,最起码问题是有规律可循的。所以问题还是应该可以得到解决的。

      尝试通过监听返回键的方式进行,在相应的条件语句中加入监听语句并进行判断。返回键退出的代码如下:

 


  
  1. /*
  2. * Android返回键退出
  3. */
  4. $scope.listenbackbutton = function() {
  5. document.addEventListener("plusready", onPlusReady, false);
  6. function onPlusReady() {
  7. plus.key.addEventListener("backbutton", function() {
  8. if ($location.path() == '/tab/index') {
  9. if (plus.os.name == "Android") {
  10. $ionicLoading.show({
  11. template: "再次点击返回键退出立马送药"
  12. });
  13. $timeout(function() {
  14. $ionicLoading.hide();
  15. plus.key.removeEventListener("backbutton", function() {
  16. });
  17. return;
  18. }, 1000);
  19. plus.key.addEventListener("backbutton", function() {
  20. localStorage.addrTag = '';
  21. localStorage.addrid = '';
  22. plus.runtime.quit();
  23. });
  24. } else {
  25. outSet("此平台不支持直接退出程序,请按Home键切换应用");
  26. }
  27. } else {
  28. $ionicHistory.goBack();
  29. }
  30. });
  31. }
  32. }
  33. $scope.listenbackbutton();

 

      经过尝试,发现问题。onPlusReady() 方法无法调用。即不可以正常调用扩展API。

      故放弃这条路。尝试通过其它方法进行解决(未完待续...)。

美文美图

 

文章来源: shq5785.blog.csdn.net,作者:No Silver Bullet,版权归原作者所有,如需转载,请联系作者。

原文链接:shq5785.blog.csdn.net/article/details/50592004

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。