<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="libs/angular/angular.js" type="text/javascript" charset="utf-8"></script>
<script src="libs/angular-route/angular-ui-router.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
.active{
color:red;
font-size: 30px;
}
</style>
</head>
<body ng-app='app' ng-controller='controller'>
<a ui-sref='page1' href='' ng-click='change(1)' ng-class='{"active":num == 1}'>页面1</a> //ui-sref进行状态的跳转,点击后触发page1的状态,状态触发后才会执行控制器函数;
<a ui-sref='page2' ng-click='change(2)' ng-class='{"active":num == 2}'>页面2</a>
<a ui-sref='page3' ng-click='change(3)' ng-class='{"active":num == 3}'>页面3</a>
<a ui-sref='page4' ng-click='change(4)' ng-class='{"active":num == 4}'>页面4</a>
<a ui-sref='page5' ng-click='change(5)' ng-class='{"active":num == 5}'>页面5</a>
<h1 ng-click='goTo()'>go to p5</h1>
<h1 ui-view></h1> //ui-view 状态跳转的页面会在这里展示
<h1>index</h1>
<script type="text/javascript">
var app=angular.module('app',['ui.router']); //注入ui.router路由模块
app.config(function($stateProvider,$urlRouterProvider){
$urlRouterProvider.when('','/page1'); //$urlRouterProvider初始化跳转的状态,首先想展示哪一个页面
$stateProvider.state('page1',{ //定义状态,出发此状态,将会跳转templateurl页面
url:'/page1/:id', //:id定义参数;定义方式三种 1./page1/:id/:name 2./page1/{id}/{name}/ 3./page1?id&name 在跳转页面用$stateParams接收
templateUrl:"page1.html",
}).state('page2',{
url:'/page2',
templateUrl:"page2.html"
}).state('page3',{
url:'/page3',
templateUrl:"page3.html"
}).state('page4',{
url:'/page4',
templateUrl:"page4.html"
}).state('page5',{
url:'/page5/{id}/{name}',
templateUrl:"page5.html"
                       controller:function($stateParams){
   alert($stateParams.id);}}); //这里可以写控制器函数。
			  });
app.controller('controller',function($stateParams,$scope,$state){
console.log($stateParams);
$scope.change=function(num){
$scope.num=num;
};
$scope.goTo=function(){
$state.go('page5',{id:10,name:'wang'}) ; //$state.go()跳转触发某一状态,并传入一个对象;
}
});
app.controller('page1',function($stateParams){
console.log($stateParams); // 这里将接受到传入的参数对象
});
app.controller('page2',function($stateParams){
console.log($stateParams);
});
app.controller('page3',function($stateParams){
console.log($stateParams);
});
app.controller('page4',function($stateParams){
console.log($stateParams);
});
app.controller('page5',function($stateParams){
console.log($stateParams);
});
</script>
</body>
</html> 

angular $stateProvider 路由的使用的更多相关文章

  1. 路由的Resolve机制(需要了解promise)

    angular的resovle机制,实际上是应用了promise,在进入特定的路由之前给我们一个做预处理的机会 1.在进入这个路由之前先懒加载对应的 .js $stateProvider .state ...

  2. angular路由——ui.route

    angular路由 使用案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  3. $stateProvider

    在你的应用中大多数状态都有与其相关联的 url,路由控制不是设计完成 state 之后的事后想法,而是开始开发时就应该考虑的问题. 这里是如何设置一个基本url. 12345 $stateProvid ...

  4. angular使用总结

    一.是否有必要加入模块化框架 1.Reqruiejs seajs的主要作用 (1)模块化,让代码易于维护. angular本身就是mvc,模块化很清晰,所以这点用不到requirejs (2)可以按需 ...

  5. angularJs模块ui-router之路由控制

    在你的应用中大多数状态都有与其相关联的 url,路由控制不是设计完成 state 之后的事后想法,而是开始开发时就应该考虑的问题. 这里是如何设置一个基本url. $stateProvider .st ...

  6. AngularJS 的嵌套路由 UI-Router

    AngularJS 的嵌套路由 UI-Router 本篇文章翻译自:https://scotch.io/tutorials/angular-routing-using-ui-router 演示网站请查 ...

  7. AngularJS ui-router (嵌套路由)

    http://www.oschina.net/translate/angularjs-ui-router-nested-routes AngularJS ui-router (嵌套路由) 英文原文:A ...

  8. 深入理解ANGULARUI路由_UI-ROUTER

    最近在用 ionic写个webapp 看到几个demo中路由有好几种,搞的有点晕,查下资料研究下,做个笔记,其中大部分为摘抄别人的,做个说明免得被人吐槽. Angularjs ui-router - ...

  9. angular路由

    ngRoute需要引进以下文件 <script src="http://code.angularjs.org/1.2.5/angular.min.js"></sc ...

随机推荐

  1. Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块

    Python第二十二天   stat模块  os.chmod方法  os.stat方法  pwd  grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...

  2. Sql Server中的nvarchar(n)和varchar(n)

    刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误. nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据. 按字符存储 ...

  3. 关于oracle数据库 跨表查询建立 视图的方法

    工作中很多时候都会遇到需要将两个不同的表空间甚至数据库的表进行联合查询或者建立视图的情况. 不同的表空间查询我们可以通过在将要查询的表前面加上 表空间的对应的用户名来实现,如有两个表空间分别对应两个用 ...

  4. Xamarin 简单的网络请求

    //try            //{            //    var httpReq = (HttpWebRequest)HttpWebRequest.Create(new Uri(re ...

  5. Python函数返回不定数量的值

    Python的函数是可以return多个值的,但其本质上还是返回单个值,只是利用了tuple的自动打包,将多个值打包成单个tuple返回. 使用代码验证: def func_a(): return 1 ...

  6. PXE+kickstart网络安装CentOS7.4系统及过程中各种报错

    环境:关闭防火墙.selinux 注意:虚拟机进行网络安装的话,7.3以后的系统是需要2G以上的内存 [root@kickstart ~]# cat /etc/redhat-release CentO ...

  7. 简易排水简车的制作 TurnipBit 系列教程

    准备工作   ü TurnipBit 开发板 1块 ü 下载数据线 1条 ü 微型步进电机(28BYJ-48) 1个 ü 步进电机驱动板(ULN2003APG) 1块 ü TurnipBit 扩展板 ...

  8. 第十六章:Python の Web开发基础(三) jQuery与Ajax

    本課主題 jQuery 介绍 Ajax 介绍 jQuery 介绍 选择器 jQuery 的选择器分不同的种类,主要目的是用来查找目标的 HTML 标签,方便对目标标签进行操作,比如找到 <li& ...

  9. Android CoordinatorLayout、AppBarLayout、DrawerLayout、NavigationView 的使用及问题小结

    这里只对Material Design中这几种组件使用的重要部分以及容易出现问题的地方进行汇总(遇坑请直接看最后常见问题部分),详细用法请自行查阅官方文档 一.CoordinatorLayout 介绍 ...

  10. Java学习笔记27(集合框架一:ArrayList回顾、Collection接口方法)

    集合:集合是java中提供的一种容器,可以用来存储多个数据 集合和数组的区别: 1.数组的长度是固定的,集合的长度是可变的 2.集合中存储的元素必须是引用类型数据 对ArrayList集合的回顾 示例 ...