AngularJS入門教程之多視圖切換用法示例
本文實例講述了AngularJS多視圖切換用法。分享給大家供大家參考,具體如下:
在AngularJS應(yīng)用中,我們可以將html碎片寫在一個單獨的文件中,然后在其他頁面中將該段碎片加載進來。如果有多個碎片文件,我們還可以在控制器中根據(jù)用戶的操作動態(tài)的加載不同的碎片,從而達到切換視圖的效果。
先來看看筆者寫好的一個案例吧:

這兩首詞實際上是兩個html碎片,分別寫在page1.html和page2.html。下面是這兩個文件的內(nèi)容:
<!--page1.html內(nèi)容--> <div> <p>《南鄉(xiāng)子·登京口北固亭有懷》</p> <p>何處望神州?滿眼風(fēng)光北固樓。千古興亡多少事,悠悠,不盡長江滾滾流。</p> <p>年少萬兜鍪,坐斷東南戰(zhàn)未休。天下英雄誰敵手,曹劉。生子當(dāng)如孫仲謀。</p> </div>
<!--page2.html內(nèi)容--> <div> <p>《蝶戀花》</p> <p>佇倚危樓風(fēng)細細,望極春愁,黯黯生天際。草色煙光殘照里,無言誰會憑闌意。</p> <p>擬把疏狂圖一醉,對酒當(dāng)歌,強樂還無味。衣帶漸寬終不悔,為伊消得人憔悴。</p> </div>
接下來我們看看如何實現(xiàn)這兩個碎片的切換。
<!DOCTYPE html>
<html ng-app="routeMod">
<head lang="en">
<meta charset="UTF-8">
<script type="text/javascript" src="angular-1.3.0.14/angular.js"></script>
<script type="text/javascript" src="angular-1.3.0.14/angular-route.js"></script>
<link type="text/css" href="css/tutorial07.css" rel="stylesheet">
<title>tutorial07.html</title>
</head>
<body>
<header>
Header
</header>
<div id="content" ng-controller="MultiViewController">
<div id="myView" ng-view="myView" ng-init="init()">
</div>
<div id="btnDiv">
<button ng-click="prePage()">上一頁</button>
<button ng-click="nextPage()">下一頁</button>
</div>
</div>
<footer>
Copyright:Rongbo_J
</footer>
<script>
var routeMod = angular.module('routeMod', ['ngRoute']);
routeMod.config(['$routeProvider',function($routeProvider){
$routeProvider.when('/1',{
templateUrl:'tutorial07/page1.html',
controller:'MultiViewController'
})
.when('/2',{
templateUrl:'tutorial07/page2.html',
controller:'MultiViewController'
})
}])
routeMod.controller("MultiViewController",function($scope,$log,$location){
$scope.init = function () {
$location.path("/1");
}
$scope.prePage = function () {
$log.info("prePage");
$location.path("/1");
};
$scope.nextPage = function () {
$log.info("nextPage");
$location.path("/2");
};
});
</script>
</body>
</html>
這里我們需要用到AngularJs的路由模塊ngRoute,模塊代碼封裝在angular-route.js文件,和上節(jié)一樣我們我們需要引入它。
<script type="text/javascript" src="angular-1.3.0.14/angular-route.js"></script>
然后將它注入到我們的模塊中,代碼如下:
var routeMod = angular.module('routeMod', ['ngRoute']);
接下來的工作是配置html碎片的訪問路徑,我們需要調(diào)用模塊的config方法來對$routeProvider服務(wù)進行配置,代碼如下:
routeMod.config(['$routeProvider',function($routeProvider){
$routeProvider.when('/1',{
templateUrl:'tutorial07/page1.html',
controller:'MultiViewController'
})
.when('/2',{
templateUrl:'tutorial07/page2.html',
controller:'MultiViewController'
})
}])
我們通過ng-view指令定義了一個視圖,在控制器中調(diào)用$location.path()方法來指定在該視圖中加載哪一個碎片。
AngularJS源碼可點擊此處本站下載。
希望本文所述對大家AngularJS程序設(shè)計有所幫助。
相關(guān)文章
angular實現(xiàn)spa單頁面應(yīng)用實例
本篇文章主要介紹了angular實現(xiàn)spa單頁面應(yīng)用實例,小本篇文章是對單頁面的一個簡單的基本邏輯操作,這個方法可以搭建基本的單頁面的邏輯結(jié)構(gòu)。一起跟隨小編過來看看吧2017-07-07
angularjs 表單密碼驗證自定義指令實現(xiàn)代碼
這篇文章主要介紹了angularjs 表單密碼驗證自定義指令實現(xiàn)代碼,需要的朋友可以參考下2016-10-10
Angular中ng-repeat與ul li的多層嵌套重復(fù)問題
這篇文章主要介紹了Angular中ng-repeat與ul li的多層嵌套重復(fù)問題,需要的朋友可以參考下2017-07-07
Angular 4根據(jù)組件名稱動態(tài)創(chuàng)建出組件的方法教程
組件是我們在學(xué)習(xí)angular中必不可少的一部分,下面這篇文章主要給大家介紹了關(guān)于Angular 4如何根據(jù)組件名稱動態(tài)創(chuàng)建出組件的相關(guān)資料,文中通過圖文與示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11

