该文章分为两部分:angular-route和原生JS写路由
在学习前端框架时, 每个同学不可避免的会接触到路由(route)…而本篇文章则以angular1.X为例, 向各位同学逐步 拆开路由(route)的神秘面纱…
首先我们看一下ng正常的路由配置, 如下:
index.html
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>路由</title>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-route.min.js"></script>
</head>
<body>
<div ng-controller="myCtrl">
<!-- 路由 -->
<ul>
<li><a href="#/ex1">路由1</a></li>
<li><a href="#/ex2">路由2</a></li>
</ul>
<!-- 视图层 -->
<ng-view></ng-view>
</div>
<script type="text/javascript">
var app = angular.module('myApp', ['ngRoute']);
app.controller('myCtrl',function($scope, $location){
$scope.$on("$viewContentLoaded",function(){
console.log('ng-view content loaded');
});
$scope.$on('$routeChangeStart',function(){
console.log('route change start');
});
});
function routeConfig($routeProvider){
$routeProvider.when('/ex1', {
templateUrl: 'routeEx1.html',
controller: 'firstCtrl'
}).when('/ex2', {
templateUrl: 'routeEx2.html',
controller: 'secondCtrl'
}).otherwise({
redirectTo: '/ex1'
});
}
app.config(routeConfig);
</script>
</body>
</html>
引入的文件有两个–angular.min.js
和angular-route.min.js
. 1.3之后, angular将路由从中拆离.
以下是两个路由文件
routeEx1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>路由示例1</title>
</head>
<body>
<!-- 靛青色 -->
<div style="background-color:#00ffff;color:white;">路由测试1</div>
</body>
</html>
routeEx2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>路由示例2</title>
</head>
<body>
<!-- 黄色 -->
<div style="background-color:#ffff00;color:white;">路由测试2</div>
</body>
</html>
在浏览器中打开index.html
这个文件, 看到的是如下青色页面
点击路由2, 会发现由青色变成黄色, 如下:
以上就是框架的路由写法, 下一篇文章才是重点, 敬请期待…