AngularJS入門(mén)教程一:路由用法初探
本文實(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" >用戶(hù)</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:'這是電腦分類(lèi)頁(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)容感興趣的讀者可查看本站專(zhuān)題:《AngularJS指令操作技巧總結(jié)》、《AngularJS入門(mén)與進(jìn)階教程》及《AngularJS MVC架構(gòu)總結(jié)》
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
- AngularJS 路由詳解和簡(jiǎn)單實(shí)例
- 使用AngularJS對(duì)路由進(jìn)行安全性處理的方法
- AngularJS路由實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)實(shí)例
- AngularJS通過(guò)ng-route實(shí)現(xiàn)基本的路由功能實(shí)例詳解
- angularjs ui-router中路由的二級(jí)嵌套
- AngularJS監(jiān)聽(tīng)路由變化的方法
- AngularJS基于ui-route實(shí)現(xiàn)深層路由的方法【路由嵌套】
- AngularJS入門(mén)教程之路由與多視圖詳解
- AngularJS ui-router (嵌套路由)實(shí)例
- AngularJS實(shí)現(xiàn)使用路由切換視圖的方法
- 詳解在Angularjs中ui-sref和$state.go如何傳遞參數(shù)
- Angularjs中$http以post請(qǐng)求通過(guò)消息體傳遞參數(shù)的實(shí)現(xiàn)方法
- AngularJS入門(mén)教程二:在路由中傳遞參數(shù)的方法分析
相關(guān)文章
Material(包括Material Icon)在Angular2中的使用詳解
這篇文章主要介紹了Material(包括Material Icon)在Angular2中的使用,需要的朋友可以參考下2018-02-02
如何利用@angular/cli V6.0直接開(kāi)發(fā)PWA應(yīng)用詳解
這篇文章主要給大家介紹了如何利用@angular/cli V6.0直接開(kāi)發(fā)PWA應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用@angular/cli V6.0具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2018-05-05
詳解在Angular項(xiàng)目中添加插件ng-bootstrap
這篇文章主要介紹了詳解在 Angular 項(xiàng)目中添加插件 ng-bootstrap,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Bootstrap與Angularjs的模態(tài)框?qū)嵗a
這篇文章主要介紹了Bootstrap與Angularjs的模態(tài)框?qū)嵗a,需要的朋友可以參考下2017-08-08
Angular2+國(guó)際化方案(ngx-translate)的示例代碼
本篇文章主要介紹了Angular2+國(guó)際化方案(ngx-translate)的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
淺析angularJS中的ui-router和ng-grid模塊
下面小編就為大家?guī)?lái)一篇淺析angularJS中的ui-router和ng-grid模塊。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
詳談angularjs中路由頁(yè)面強(qiáng)制更新的問(wèn)題
下面小編就為大家?guī)?lái)一篇詳談angularjs中路由頁(yè)面強(qiáng)制更新的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
Angular組件庫(kù)ng-zorro-antd實(shí)現(xiàn)radio單選框選擇
這篇文章主要為大家介紹了Angular組件庫(kù)ng-zorro-antd實(shí)現(xiàn)radio單選框取消選擇實(shí)現(xiàn)問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05

