关于AngularJS的ui-router

前端之家收集整理的这篇文章主要介绍了关于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

更多请点击查看…

猜你在找的Angularjs相关文章