关于AngularJS的ui-router

下面以一个具体的例子来解释ui-router的用法:

准备工作

page1.html

<div>this is the page1 con</div>

page2.html

<div>this is the page2 con</div>

extra.html

<div>this is the extra con</div>

main.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        //这里要记得引入angular框架和ui-router
        <script src="./node_modules/angular/angular.min.js" charset="utf-8"></script>
        <script src="./node_modules/angular-ui-router/release/angular-ui-router.min.js" charset="utf-8"></script>
        <script src="./app.js"></script>
    </head>
    <body ng-app="myApp">
        <h1>Angularjs ui-router demo</h1>
        //ui-view相当于一个占位符,用来放置切换的页面
        <div ui-view=""></div>
    </body>
</html>

pageTab.html

<div>
//这里添加的ui-sref表示的就是要显示的页面,"."表示的是子页面
    <span ui-sref=".page1"><a href="">page1</a></span>
    <span ui-sref=".page2"><a href="">page2</a></span>
</div>
<div>
    <div ui-view=""></div>
</div>

接下来就是要编写js代码了,我们把它下载app.js中(main.html中引入了):

//声明angular模块,并把ui-router传入
var myApp = angular.module('myApp', ['ui.router'])
//传入$stateProvider和$urlRouteProvider两个路由引擎参数,这样,我们后面就可以配置我们想要的路由了
    .config(function($stateProvider, $urlRouterProvider) {
        //如果后面没有匹配的路由,那么将会跳转到$urlRouterProvider这儿设定的路径(也就是设置默认路径),就和switch..case..中的default是一个道理
        $urlRouterProvider
            .when('','/pageTab');
        $stateProvider
        //第一行表示会在main.html页面第一个显示出来的页面
            .state('pageTab',{
                url: '/pageTab',
                templateUrl: 'pageTab.html'
            })
            //这里加上“.“表示告诉路由引擎,我们在这里定义的是子页面/嵌入页面,也就是说它会显示在pageTab.html页面中的ui-view处。
            .state('pageTab.page1',{
                url: '/page1',
                templateUrl: 'page1.html'
            })
            .state('pageTab.page2',{
                url: '/page2',
                templateUrl: 'page2.html'
            })
           .state('extra',{
                url: '/extra',
                templateUrl: 'extra.html'
            });
    });

参考: http://www.oschina.net/translate/angularjs-ui-router-nested-routes?print

更多请点击查看…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值