PhoneGap中文网

 找回密码
 立即注册
查看: 44861|回复: 11
打印 上一主题 下一主题

关于ionic公用路由视图跳转的问题,纠结了我真的好久

[复制链接]

2

主题

9

帖子

42

积分

新手上路

Rank: 1

积分
42
跳转到指定楼层
楼主
发表于 2016-3-28 00:26:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 宇哥你好 于 2016-3-28 10:30 编辑

我现在做的是单页面app,假如我底部菜单有4个主视图,首页、搜索、购物车、个人中心

通过首页点击某个商品就可以到商品详情页视图 例如/list/:id 这样的配置,后面的功能依次有下单-->支付流程

我在商品详情页点击了加入购物车,成功加入购物车,然后点击返回到首页

这个时候,我从首页点进了购物车,可以看到我加入购物车的商品列表,那么问题来了,我如何从购物车的列表跳到商品详情的那个视图下去,因为我商品详情的视图是属于首页列表下,我如果使用了$state.go('#/list/id'),页面没有ng-Animation的进入页面效果,并且没有了ion-nav-back-button,我点击设备上的返回按键,返回到的是#/list并不是我的上一级购物车商品列表这个视图。

我不知道这个问题如何解决,我不可能在购物车后面继续配置商品详情视图然后还有下单-->支付 视图,这样会重复很多次,如果我从个人中心的订单里查看商品详情的话难道还要再从个人中心里再配置商品详情的视图吗,我觉得不可能这样做的。   

我一直没有解决这个问题,我是用ionic的modal,将商品详情和后面的功能做成弹出一个模板来解决这个问题,这样就会在controller里出现大量重复的代码。

希望遇到这个问题的可以告诉一下如何解决,或者有简单的demo给我看下,毕竟我是新手请谅解
回复

使用道具 举报

2

主题

9

帖子

42

积分

新手上路

Rank: 1

积分
42
沙发
 楼主| 发表于 2016-3-28 10:31:12 | 只看该作者
哪位大哥能帮忙看下吗
回复 支持 反对

使用道具 举报

3

主题

8

帖子

73

积分

注册会员

Rank: 2

积分
73
板凳
发表于 2016-3-28 10:47:58 | 只看该作者
不要把路由写在views下面,自己定义返回按钮和动画。.state('m-fund', {
    url: '/m-fund',
    templateUrl: 'templates/fund/m_fund.html',
    controller: 'MFundCtrl'
})
回复 支持 反对

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
地板
发表于 2016-3-28 11:17:24 | 只看该作者
路由写成这样


  1.             .state('login', {
  2.                 url: '/login/:router',
  3.                 templateUrl: "templates/login.html",
  4.                 controller: 'LoginCtrl'

  5.             })
复制代码






然后在ion-view里面写上

  1. <ion-nav-buttons side="left">
  2.         <!-- <button class="button-icon ion-arrow-left-c" ng-click="backView()"></button>-->

  3.         <a  ng-if="hasBack" ng-click="$ionicGoBack()" class="button back-button buttons  button-clear header-item"><i class="icon ion-ios-arrow-back"></i>
  4.             返回
  5.         </a>
  6.     </ion-nav-buttons>
复制代码




ion-nav-buttons 和 ion-content同级

回复 支持 反对

使用道具 举报

2

主题

9

帖子

42

积分

新手上路

Rank: 1

积分
42
5#
 楼主| 发表于 2016-3-28 11:57:11 | 只看该作者
慕容紫英一 发表于 2016-3-28 10:47
不要把路由写在views下面,自己定义返回按钮和动画。.state('m-fund', {
    url: '/m-fund',
    template ...

自己写动画啊,好像好复杂的样子呢
回复 支持 反对

使用道具 举报

2

主题

9

帖子

42

积分

新手上路

Rank: 1

积分
42
6#
 楼主| 发表于 2016-3-28 11:58:07 | 只看该作者

不知道你定义的backView()和hasBack都是什么呀,我用不用管?
回复 支持 反对

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
7#
发表于 2016-3-28 14:12:30 | 只看该作者
浏览器没有动画不要管

上线的时候配置这个插件

http://www.phonegap100.com/article-482-1.html

就都有动画了
回复 支持 反对

使用道具 举报

11

主题

529

帖子

1418

积分

金牌会员

Rank: 6Rank: 6

积分
1418
8#
发表于 2016-3-28 14:13:05 | 只看该作者
你就照着写  不会有什么问题的
回复 支持 反对

使用道具 举报

3

主题

8

帖子

73

积分

注册会员

Rank: 2

积分
73
9#
发表于 2016-3-28 14:48:19 | 只看该作者
宇哥你好 发表于 2016-3-28 11:57
自己写动画啊,好像好复杂的样子呢
  1. $rootScope.WBack = function(){
  2.             $ionicViewSwitcher.nextDirection('back');
  3.             $ionicHistory.goBack();
  4.         };
复制代码
回复 支持 反对

使用道具 举报

2

主题

9

帖子

42

积分

新手上路

Rank: 1

积分
42
10#
 楼主| 发表于 2016-3-28 15:03:56 | 只看该作者
ionicwang 发表于 2016-3-28 14:13
你就照着写  不会有什么问题的

哥,我现在这个底部的菜单不出来了。

  1.   .config(function($stateProvider, $urlRouterProvider) {
  2.     $stateProvider
  3.       .state('tab', {
  4.         url: '/tab',
  5.         abstract: true,
  6.         templateUrl: 'templates/tabs.html'
  7.       })
  8.       .state('index', {
  9.         url: '/index',
  10.         templateUrl: 'templates/index/index.html',
  11.         controller:'indexController'
  12.       })
  13.       .state('topic-detail', {
  14.         url: '/index/:id',
  15.         templateUrl: 'templates/index/topic-detail.html',
  16.         controller:'topicDetailController'
  17.       })
  18.       .state('chats', {
  19.         url: '/chats',
  20.         templateUrl: 'templates/tab-chats.html',
  21.         controller: 'ChatsCtrl'
  22.       })
  23.       .state('chat-detail', {
  24.         url: '/chats/:chatId',
  25.         templateUrl: 'templates/chat-detail.html',
  26.         controller: 'ChatDetailCtrl'
  27.       });
  28.     $urlRouterProvider.otherwise('/index');

  29.   });
复制代码

  1. <ion-tabs class="tabs-icon-top tabs-color-active-positive" ng-class="{'tabs-item-hide': $root.hideTabs}">

  2.   <!-- Dashboard Tab -->
  3.   <ion-tab title="书圈" icon-off="ion-ios-color-wand-outline" icon-on="ion-ios-color-wand" href="#/index">
  4.     <ion-nav-view name="index"></ion-nav-view>
  5.   </ion-tab>

  6.   <!-- Chats Tab -->
  7.   <ion-tab title="书友会" icon-off="ion-ios-chatboxes-outline" icon-on="ion-ios-chatboxes" href="#/chats">
  8.     <ion-nav-view name="tab-chats"></ion-nav-view>
  9.   </ion-tab>

  10.   <!-- Account Tab -->
  11.   <ion-tab title="我" icon-off="ion-ios-gear-outline" icon-on="ion-ios-gear" href="#/account">
  12.     <ion-nav-view name="tab-account"></ion-nav-view>
  13.   </ion-tab>


  14. </ion-tabs>
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2024-4-20 12:58 , Processed in 0.044407 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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