本文實(shí)例講述了AngularJS路由用法。分享給大家供大家參考,具體如下:
目前的理解中,這個(gè)NG的路由模塊可以用于帶有多視圖的單頁(yè)面開(kāi)發(fā)。
先把所有代碼貼出:
HTML:
<!doctype html><meta charset="UTF-8"><html><head> <link href="self.css" rel="external nofollow" rel="stylesheet"></head><body ng-app='routingDemoApp'><h2>AngularJS 路由應(yīng)用</h2><ul> <li><a href="#/" rel="external nofollow" >首頁(yè)</a></li> <li><a href="#/computers" rel="external nofollow" >電腦</a></li> <li><a href="#/user" rel="external nofollow" >用戶</a></li> <li><a href="#/blabla" rel="external nofollow" >其他</a></li></ul><div ng-view></div><script src="angular.min.js"></script><script src="angular-route.min.js"></script><script src="test.js"></script></body></html>
list.html:
<div> <h1>HI,這里是list.html</h1> <h2>{{name}}</h2></div>
JS:
var app = angular.module('routingDemoApp',['ngRoute']);app.config(['$routeProvider', function($routeProvider){ $routeProvider .when('/',{template:'這是首頁(yè)頁(yè)面'}) .when('/computers',{ template:'這是電腦分類頁(yè)面' }) .when('/user',{templateUrl:'list.html',controller:'listController'}) .otherwise({redirectTo:'/'});}]);app.controller('listController',function($scope){ $scope.name="ROSE";});
首先由于我用的是Angular1.5,所以需要額外引入angular-route.js:
<script src="angular.min.js"></script><script src="angular-route.min.js"></script>
要使用NG里的路由,必須先在特定的模塊中定義它:
.config(['$routeProvider', function($routeProvider){//內(nèi)容}
通過(guò)when和otherwise兩個(gè)方法來(lái)進(jìn)行路由的匹配。(其實(shí)就是匹配上面URL后面/的字符)。最后把匹配到的字符所對(duì)應(yīng)的字段或者文件放入帶有ng-view 指令的DOM里面。
when里面有許多屬性。里面可以設(shè)置控制器,控制器會(huì)匹配給對(duì)應(yīng)的字段或文件。就像上面代碼中l(wèi)istController控制器一樣。
ng-view指令有許多規(guī)則:
在匹配路由時(shí):
1、創(chuàng)建一個(gè)新的當(dāng)前作用域。
2、刪除前一個(gè)作用域。
3、將當(dāng)前的模板(控制器等)與當(dāng)前新建的作用域關(guān)聯(lián)起來(lái)。
4、如果有內(nèi)置關(guān)聯(lián)的控制器,將其與當(dāng)期作用域關(guān)聯(lián)起來(lái)。
更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結(jié)》、《AngularJS入門與進(jìn)階教程》及《AngularJS MVC架構(gòu)總結(jié)》
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注