1.整體把握
AngularJS是一個單頁面的處理程序,訪問的入口只有一張,也就是說只有一張對外暴露的html文件。在該入口文件中有一個重要的概念,視圖:此視圖可能是空的,將會被各種html片段多替換。
路由:我們在訪問視圖部分的時候可能什麼也看不到,所以需要用html代碼片段進行替換,這個過程就是路由。
模塊:進行功能劃分,目的是配置路由。
2.項目步驟
(1)引入文件
進行路由的控制,需要引入兩個文件,angular.min.js (核心文件)和 angular-ui-router.min.js (路由文件)。
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-ui-router.min.js"></script>
(2)書寫html片段
A.html
<div>A</div>
B.html
<div>B</div>
C.html
<div>C</div>
(3)書寫模塊
// 創建路由模塊
var m = angular.module("app",["ui.router"]);
// 配置路由
m.config(function($stateProvider,$urlRouterProvider){
$urlRouterProvider.otherwise("/A"); // 激發路由
$stateProvider.state("A",{
url:"/A",
views:{
"main":{
templateUrl:'templates/A.html',
}
}
}).state("B",{
url:"/B",
views:{
"main":{
templateUrl:'templates/B.html',
}
}
}).state("C",{
url:"/C",
views:{
"main":{
templateUrl:'templates/C.html',
}
}
})
})
備註:
var m = angular.modual(“app”,[模塊需不需要別人的幫助 可以查看源碼])
激發路由是在頁面加載的時候,初始化視圖(上面實例默認視圖部分用A.html替換),激發的是url地址。
“main”是需要替換的視圖名稱。
state中第一個參數是路由的名稱,對應的是ui-sref屬性的值。
<ul class="header">
<li ui-sref="A">視圖A</li>
<li ui-sref="B">視圖B</li>
<li ui-sref="C">視圖C</li>
</ul>
配置路由在項目中是最重要的一部分,項目的轉向,實際就是在視圖中對html進行替換
(4)頁面託管
整個html頁面交給模塊託管。
<html lang="en" ng-app="app">