angular之路由,模板

做网站的时候,网站的导航始终处于顶端,保持不变,而只改变局部内容。我们可以将不变固定的内容称为“布局模板”,而经常改变内容的那块称为“局部模板”。angular通过路由功能轻松实现了这个功能。

1.布局模板index.html

如下所示:首先要的导入angular路由功能的js,注意导入顺序,红色部分为固定不变的部分,而局部模板的内容将显示在带有"ng-view"指令的标签内。

<!doctype html>
<html ng-app="myapp">
	<head>
		<script src="js/angular.min.js"></script>
		<script src="js/angular-route.min.js"></script>
	</head>
	<body>
		 <span style="color:#ff6600;"> <div>XXX学校</div></span>
		 <div ng-view></div> 
	</body>
</html>

2.局部模板

list.html

注意:a标签内的链接之前,有“#”,后边会讲解。

<div>
	 <table>
		<tr><td>名称</td><tr>
		<tr ng-repeat="item in items">
			<td><a href="#/student/view/{{item.id}}">{{item.name}}</a></td>
		</tr>
	</table> 
</div>
detail.html

<div>
 	id:{{item.id}}<br>
	name:{{item.name}}<br>
	age:{{item.age}} 
</div>

3.核心js的编写

 <script type="text/javascript">
		 function listController($http,$scope){
				 $http.post('/angular/class.json').success(function(data, status, headers,config){
				 	$scope.items=data.students;
				 }).error(function(data){
					alert("error");
				}); 
				 
			}
			function detailController($http,$scope,$routeParams){
				 alert($routeParams.id);//获取参数Id的值
			}
			 function  myRoute($routeProvider,$locationProvider){
				  $routeProvider.when('/student',{
					controller:'listController',
					templateUrl:'/angular/list.html'
				}).when('/student/view/:id',{
					controller:'detailController',
					templateUrl:'/angular/detail.html'
				}).otherwise({redirectTo:'/student'});  
		    }   
		     var module=angular.module('myapp',['ngRoute']);
		     module.config(myRoute);
		</script>


当请求index.html时,局部模板会默认请求list.html,请求地址为:localhost:8080/demo/index.html#/student,这也是为什么list.html页面中的链接要加“#"的原因。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值