ionic多重路由

一. 首先首页如下

<!DOCTYPE html>
<html lang="en" ng-app="ionicApp">
<head>
    <meta charset="UTF-8">
    <title>功能集合小测试</title>
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
    <link rel="stylesheet" href="lib/css/ionic.css">)
    <script src="lib/js/ionic.bundle.min.js"></script>

// 上面是ionic的配置文件
</head>
<body>


<!--ionic显示内容 (容器)-->
<ion-nav-view>
</ion-nav-view>

<script src="js/app.js"></script>

//自己写的app.js配置文件
</body>
</html>

 

 

二. 然后书写底部导航页和配置多重路由

 

2.1 底部导航以及路由html写法,如下:

 

<!--底部导航-->
<ion-tabs class="tabs-icon-only tabs-icon-top">

    <ion-tab title="首页"  icon-on="ion-home" icon-off="ion-home" ui-sref="tabs.home"><!--ui-sref="tabs.home"-->
        
<ion-nav-view name="home-tab"></ion-nav-view>
    </ion-tab>

    <ion-tab title="到位" icon="ion-ios-information" ui-sref="tabs.daowei" ><!--href写法 href="#/tabs/daowei" -->
        
<ion-nav-view name="daowei-tab"></ion-nav-view>
    </ion-tab>

    <ion-tab title="社群" icon="ion-ios-information" href="#/tab/about">
        <ion-nav-view name="shequn-tab"></ion-nav-view>
    </ion-tab>

    <ion-tab title="我的" icon="ion-ios-information" href="#/tab/about">
        <ion-nav-view name="wode-tab"></ion-nav-view>
    </ion-tab>

</ion-tabs>

 

2.2 然后是app.js配置路由以及切换的页面状态,如下:

 

angular.module('ionicApp',['ionic'])

    .config(["$stateProvider","$urlRouterProvider","$ionicConfigProvider",
        function ($stateProvider,$urlRouterProvider,$ionicConfigProvider) {
        //解决安卓机底部tabs上移问题
            
$ionicConfigProvider.platform.ios.tabs.style('standard');
            $ionicConfigProvider.platform.ios.tabs.position('bottom');
            $ionicConfigProvider.platform.android.tabs.style('standard');
            $ionicConfigProvider.platform.android.tabs.position('standard');

            $ionicConfigProvider.platform.ios.navBar.alignTitle('center');
            $ionicConfigProvider.platform.android.navBar.alignTitle('left');

            $ionicConfigProvider.platform.ios.backButton.previousTitleText('').icon('ion-ios-arrow-thin-left');
            $ionicConfigProvider.platform.android.backButton.previousTitleText('').icon('ion-android-arrow-back');

            $ionicConfigProvider.platform.ios.views.transition('ios');
            $ionicConfigProvider.platform.android.views.transition('android');

        //路由状态
            
$urlRouterProvider.otherwise("/tab/home");
            $stateProvider
                .state("tabs",{
                    url:"/tab",
                    abstract:true,
                    templateUrl:"views/tabs.html"
                
})
                /*tabs.home底部页面*/
                
.state("tabs.home",{
                    url:"/home",
                    views:{
                        "home-tab":{
                            templateUrl:"views/home.html"
                        
}
                    }
                })
                /*tabs.home底部页面的子页面 1*/
                
.state("tabs.home-tab",{
                    url:"/home-tab",
                    views:{
                        "home-tab":{
                            templateUrl:"views/home-tab.html"
                        
}
                    }
                })
                /*tabs.home底部页面的子页面 2*/
                
.state("tabs.home-tab1",{
                    url:"/home-tab1",
                    views:{
                        "home-tab":{
                            templateUrl:"views/home-tab1.html"
                        
}
                    }
                })
                /*tabs.daowei底部页面*/
                
.state("tabs.daowei",{
                    url:"/daowei",
                    views:{
                        "daowei-tab":{
                            templateUrl:"views/daowei.html"
                        
}
                    }
                })
                /*tabs.daowei底部页面的子页面 1*/
                
.state("tabs.daowei-tab",{
                    url:"/daowei-tab",
                    views:{
                        "daowei-tab":{
                            templateUrl:"views/daowei-tab.html"
                        
}
                    }
                })
        }])

 

 

 

三.路由父页面内页跳转回父页面时出现返回按钮的解决方法,如下:

 

<ion-view view-title="首页">
    <ion-nav-bar class="bar-positive">
        <!--此处为顶部导航栏-->
        <!--<ion-nav-back-button>返回</ion-nav-back-button>此处为顶部导航栏的返回按钮,
        需要将它隐藏,不然在此页面下的子页面跳回到此页面时会出现我们不需要的返回按钮-->
    
</ion-nav-bar>
    <ion-content>
        <p><a ui-sref="tabs.home-tab">这是首页</a></p>
    </ion-content>

</ion-view>

此为app.js下设置好的默认显示页面,也就是所谓的首页

 

它的子页面如下,可以比对一下:

 

<ion-view view-title="首页">
    <ion-nav-bar class="bar-positive">
        <ion-nav-back-button>返回</ion-nav-back-button>
    </ion-nav-bar>
    <ion-content>
        <p><a ui-sref="tabs.home-tab1">我是首页的第一个内页</a>为什么继承不了home.html的返回按钮啊</p>
    </ion-content>

</ion-view>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值