AngularJS入門(mén)教程之多視圖切換用法示例
本文實(shí)例講述了AngularJS多視圖切換用法。分享給大家供大家參考,具體如下:
在AngularJS應(yīng)用中,我們可以將html碎片寫(xiě)在一個(gè)單獨(dú)的文件中,然后在其他頁(yè)面中將該段碎片加載進(jìn)來(lái)。如果有多個(gè)碎片文件,我們還可以在控制器中根據(jù)用戶的操作動(dòng)態(tài)的加載不同的碎片,從而達(dá)到切換視圖的效果。
先來(lái)看看筆者寫(xiě)好的一個(gè)案例吧:
這兩首詞實(shí)際上是兩個(gè)html碎片,分別寫(xiě)在page1.html和page2.html。下面是這兩個(gè)文件的內(nèi)容:
<!--page1.html內(nèi)容--> <div> <p>《南鄉(xiāng)子·登京口北固亭有懷》</p> <p>何處望神州?滿眼風(fēng)光北固樓。千古興亡多少事,悠悠,不盡長(zhǎng)江滾滾流。</p> <p>年少萬(wàn)兜鍪,坐斷東南戰(zhàn)未休。天下英雄誰(shuí)敵手,曹劉。生子當(dāng)如孫仲謀。</p> </div>
<!--page2.html內(nèi)容--> <div> <p>《蝶戀花》</p> <p>佇倚危樓風(fēng)細(xì)細(xì),望極春愁,黯黯生天際。草色煙光殘照里,無(wú)言誰(shuí)會(huì)憑闌意。</p> <p>擬把疏狂圖一醉,對(duì)酒當(dāng)歌,強(qiáng)樂(lè)還無(wú)味。衣帶漸寬終不悔,為伊消得人憔悴。</p> </div>
接下來(lái)我們看看如何實(shí)現(xiàn)這兩個(gè)碎片的切換。
<!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()">上一頁(yè)</button> <button ng-click="nextPage()">下一頁(yè)</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']);
接下來(lái)的工作是配置html碎片的訪問(wèn)路徑,我們需要調(diào)用模塊的config方法來(lái)對(duì)$routeProvider服務(wù)進(jìn)行配置,代碼如下:
routeMod.config(['$routeProvider',function($routeProvider){ $routeProvider.when('/1',{ templateUrl:'tutorial07/page1.html', controller:'MultiViewController' }) .when('/2',{ templateUrl:'tutorial07/page2.html', controller:'MultiViewController' }) }])
我們通過(guò)ng-view指令定義了一個(gè)視圖,在控制器中調(diào)用$location.path()方法來(lái)指定在該視圖中加載哪一個(gè)碎片。
AngularJS源碼可點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
- AngularJS實(shí)現(xiàn)動(dòng)態(tài)切換樣式的方法分析
- AngularJS標(biāo)簽頁(yè)tab選項(xiàng)卡切換功能經(jīng)典實(shí)例詳解
- 詳解AngularJS ng-class樣式切換
- angularJs的ng-class切換class
- 使用AngularJS2中的指令實(shí)現(xiàn)按鈕的切換效果
- AngularJS路由切換實(shí)現(xiàn)方法分析
- AngularJS實(shí)現(xiàn)使用路由切換視圖的方法
- 用AngularJS的指令實(shí)現(xiàn)tabs切換效果
- 使用AngularJS實(shí)現(xiàn)可伸縮的頁(yè)面切換的方法
- angularjs實(shí)現(xiàn)Tab欄切換效果
相關(guān)文章
Angular4集成ng2-file-upload的上傳組件
本篇文章主要介紹了Angular4集成ng2-file-upload的上傳組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03AngularJS監(jiān)聽(tīng)ng-repeat渲染完成的兩種方法
這篇文章主要介紹了AngularJS監(jiān)聽(tīng)ng-repeat渲染完成的兩種方法,結(jié)合實(shí)例形式分析了AngularJS基于自定義指令及廣播事件實(shí)現(xiàn)監(jiān)聽(tīng)功能的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01詳談AngularJs 控制器、數(shù)據(jù)綁定、作用域
下面小編就為大家?guī)?lái)一篇詳談AngularJs 控制器、數(shù)據(jù)綁定、作用域。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Angular2使用vscode斷點(diǎn)調(diào)試ts文件的方法
本篇文章主要介紹了Angular2使用vscode斷點(diǎn)調(diào)試ts文件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12angularjs實(shí)現(xiàn)搜索的關(guān)鍵字在正文中高亮出來(lái)
這篇文章主要介紹了angularjs實(shí)現(xiàn)搜索的關(guān)鍵字在正文中高亮出來(lái),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06