<!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>