ionic--配置路由

1.ng-route

index中引用文件:

<script src="ionic.bundle.js"></script>
<script src="angular.min.js"></script>

<!--如果路径上出现!,可能是angular,js版本和angular-route.min.js版本不兼容,可换一下版本试试-->
<script src="http://cdn.bootcss.com/angular.js/1.2.9/angular-route.min.js"></script>

index

<div ng-view ></div>

app.js中配置路由:

angular.module("myApp",["ngRoute","myController","serviceController"])  

.config(function($routeProvider){
    $routeProvider.when("/news",{
        templateUrl:"news.html",
        controller:"newscontroller"
    }).when("/news-datails/:aid",{
        templateUrl:"news-datails.html",
        controller:"datailscontroller"
    }).otherwise({
        redirectTo:'/news'
    })
});

1.引入 angularjs   引入 angular-route.js
2.定义   ng-app="myAPP"
3.angular.module('myAPP',['ngRoute'])
4.定义 配置路由
5.定义视图   动态加载的 模板和控制器显示到哪里
  <div ng-view></div>

2.ionic-ui-router

引用文件

<script src="ionic.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="ionic.min.css">

index

<!--公共头部-->

<ion-nav-bar class="bar-calm">
    <ion-nav-back-button></ion-nav-back-button>
</ion-nav-bar>


<ion-nav-view></ion-nav-view>

子页面模板代码:

<ion-view title="主页">

<!--头部需要添加按钮的时候,加上ion-nav-buttons-->

    <ion-nav-buttons side="right">
         <a  href="#/tabs/list-datail/111" class="button button-clear">详情</a>
    </ion-nav-buttons>


    <ion-content>
        home
    </ion-content>
</ion-view>

app.js路由配置

angular.module("myApp",["ionic","shopcontroller","serivecontroller"])
.config(function($stateProvider,$urlRouterProvider){
    $stateProvider.state("list",{
        url:"/list",
        templateUrl:"list.html",
        controller:"listController"
    })
    .state("list-datail",{
            url:"/list-datail/:id",
            templateUrl:"list-datail.html",
            controller:"listDatailController"
        });
    $urlRouterProvider.otherwise("/list");

});

1.调用$state.go()方法, js跳转
2.点击包含ui-sref指令的链接  <a ui-sref="productlist">Go State 1</a>
3. 导航到与状态相关联的 url。  <a  href="#/productlist">Go State 2</a>

$stateProvider  配置路由       $urlRouterProvider  默认跳转

<!--ng-view    ngRouter-->       <!--ui-view    ui-router-->

1.定义视图  ion-nav-view ionic中定义视图     默认有动画了
2.ion-nav-bar  定义公共导航
3.ion-view  模板里面的所有东西放在这个里面   title定义公共导航的标题
4.ion-nav-back-button   自动返回按钮

3.ionic-ui-router+tabs

引用文件、index、子页模板代码同ionic-ui-router

tabs模板代码:

<ion-tabs class="tabs-calm tabs-color-light tabs-icon-top">
    <ion-tab title="首页" icon-on="ion-home" icon-off="ion-home" href="#/tabs/home">
        <ion-nav-view name="tabHome"></ion-nav-view>
    </ion-tab>

<ion-tab title="新闻" icon-on="ion-ios-paper-outline"      

icon-off="ion-ios-paper-outline" href="#/tabs/news">
        <ion-nav-view name="tabNews"></ion-nav-view>
    </ion-tab>
</ion-tabs>

路由配置:

angular.module("myApp",["ionic","appController","serviceController"])
  .config(function($stateProvider,$urlRouterProvider){
    $stateProvider.state("tabs",{
        url:"/tabs",
        abstract:true, /*抽象的    只要定义 abstract=true  我们的路由就不会解析这个地址*/
        templateUrl:"tabs.html"
    })
    .state("tabs.home",{
        url:"/home",
        views:{
            "tabHome":{
                templateUrl:"home.html"
            }
        }
    })
        .state("tabs.newsContent",{
            url:"/newsContent/:id",
            views:{
                "tabNews":{
                    templateUrl:"newsContent.html",
                    controller:"listDatailController"
                }
            },
        })
    $urlRouterProvider.otherwise('/tabs/home');
})
原文地址:https://www.cnblogs.com/SPHmomo/p/7535218.html