angularjs ui-router中路由的二級(jí)嵌套
關(guān)于ui-router中嵌套路由中的問(wèn)題
1.首先我們的頁(yè)面層次為
其中Main.html是我們的主頁(yè),我們要在main.html中對(duì)路由進(jìn)行統(tǒng)一的管理。
main.html頁(yè)面中有一個(gè)ui-view在這里將填充PageTab.html,同時(shí)被填充的PageTab.html中也有一個(gè)ui-view
這樣就實(shí)現(xiàn)了嵌套路由。
最終效果:
當(dāng)我們點(diǎn)擊Page-1時(shí)出現(xiàn)的是Page1中的內(nèi)容,同理點(diǎn)擊Page-2。
下面是實(shí)際的代碼:
Main.html
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
<script src="js/angular-ui-router.js"></script>
<script>
</script>
</head>
<body>
<h3>Main page</h3>
<div>
<div ui-view></div>
</div>
<script>
angular.module("myApp",["ui.router"])
.config(function($stateProvider){
$stateProvider
.state("PageTab",{
url:"",
templateUrl:"PageTab.html"
})
.state("PageTab.Page1",{
url:"/Page1",
templateUrl:"Page1.html"
})
.state("PageTab.Page2",{
url:"/Page2",
templateUrl:"Page2.html"
})
})
</script>
</body>
</html>
PageTab.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>PageTab</h2>
<div>
<span style="width:100px" ui-sref=".Page1"><a href="">Page-1</a></span>
<span style="width:100px" ui-sref=".Page2"><a href="">Page-2</a></span>
</div>
<div ui-view=""></div>
</body>
</html>
Page1.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Page1</title> </head> <body> <h2>Page1</h2> </body> </html>
Page2.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Page2</title> </head> <body> <h2>Page2</h2> </body> </html>
以上是全部的頁(yè)面代碼,Main.html中js庫(kù)需要手動(dòng)導(dǎo)入。
下面我們重點(diǎn)看Main.html中對(duì)路由統(tǒng)一管理的部分也就是這段js代碼
<script>
angular.module("myApp",["ui.router"])
.config(function($stateProvider){
$stateProvider
.state("PageTab",{
url:"",
templateUrl:"PageTab.html"
})
.state("PageTab.Page1",{
url:"/Page1",
templateUrl:"Page1.html"
})
.state("PageTab.Page2",{
url:"/Page2",
templateUrl:"Page2.html"
})
})
</script>
一共三個(gè)狀態(tài):
第一個(gè)狀態(tài)
.state("PageTab",{
url:"",
templateUrl:"PageTab.html"
})
在第一個(gè)中我們定義了初始狀態(tài)名為PageTab,url狀態(tài)為空,這時(shí)候在母版中將會(huì)在ui-view中填充PageTab.html這個(gè)頁(yè)面。
第二個(gè)狀態(tài)
.state("PageTab.Page1",{
url:"/Page1",
templateUrl:"Page1.html"
})
我們把這個(gè)狀態(tài)名字命名為PageTab.Page1 這時(shí)候的路由將會(huì)交給PageTab來(lái)處理,即在PageTab.html頁(yè)面中的ui-view中填充Page1.html中的內(nèi)容。同理如果state命名為PageTab.Page2 那么處理它的就會(huì)是PageTab.html這個(gè)頁(yè)面。
希望本文所述對(duì)你有所幫助,angularjs ui-router中路由的二級(jí)嵌套就給大家介紹到這里了。希望大家繼續(xù)關(guān)注我們的網(wǎng)站!想要學(xué)習(xí)angularjs可以繼續(xù)關(guān)注本站。
相關(guān)文章
3個(gè)可以改善用戶體驗(yàn)的AngularJS指令介紹
這篇文章主要介紹了3個(gè)可以改善用戶體驗(yàn)的AngularJS指令,AngularJS是一款具有很高人氣的JavaScript框架,需要的朋友可以參考下2015-06-06
詳解AngularJs ui-router 路由的簡(jiǎn)單介紹
本篇文章主要介紹了AngularJs ui-router 路由的簡(jiǎn)單介紹。簡(jiǎn)單明了的說(shuō)明了ngRoute和ui-router的區(qū)別和用法,有興趣的可以了解一下2017-04-04
詳解Angular開(kāi)發(fā)中的登陸與身份驗(yàn)證
Angular是Google開(kāi)發(fā)的一款瀏覽器端的高人氣JavaScript框架,Angular 經(jīng)常會(huì)被用到后臺(tái)和管理工具的開(kāi)發(fā),這兩類(lèi)都會(huì)需要對(duì)用戶進(jìn)行鑒權(quán)。而鑒權(quán)的第一步,就是進(jìn)行身份驗(yàn)證。本文詳細(xì)介紹了Angular開(kāi)發(fā)中的登陸與身份驗(yàn)證。2016-07-07
Angular2 組件間通過(guò)@Input @Output通訊示例
本篇文章主要介紹了Angular2 組件間通過(guò)@Input @Output通訊示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
創(chuàng)建你的第一個(gè)AngularJS應(yīng)用的方法
這篇文章主要介紹了創(chuàng)建你的第一個(gè)AngularJS應(yīng)用的方法,AngularJS是一個(gè)非常具有人氣的JavaScript框架,需要的朋友可以參考下2015-06-06
angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁(yè)面問(wèn)題詳解
這篇文章主要給大家介紹了angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁(yè)面問(wèn)題的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05
angularjs使用gulp-uglify壓縮后執(zhí)行報(bào)錯(cuò)的解決方法
下面小編就為大家分享一篇angularjs使用gulp-uglify壓縮后執(zhí)行報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03

