angularjs ui-router中路由的二級嵌套
關(guān)于ui-router中嵌套路由中的問題
1.首先我們的頁面層次為
其中Main.html是我們的主頁,我們要在main.html中對路由進(jìn)行統(tǒng)一的管理。
main.html頁面中有一個ui-view在這里將填充PageTab.html,同時被填充的PageTab.html中也有一個ui-view
這樣就實現(xiàn)了嵌套路由。
最終效果:
當(dāng)我們點擊Page-1時出現(xiàn)的是Page1中的內(nèi)容,同理點擊Page-2。
下面是實際的代碼:
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>
以上是全部的頁面代碼,Main.html中js庫需要手動導(dǎo)入。
下面我們重點看Main.html中對路由統(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>
一共三個狀態(tài):
第一個狀態(tài)
.state("PageTab",{
url:"",
templateUrl:"PageTab.html"
})
在第一個中我們定義了初始狀態(tài)名為PageTab,url狀態(tài)為空,這時候在母版中將會在ui-view中填充PageTab.html這個頁面。
第二個狀態(tài)
.state("PageTab.Page1",{
url:"/Page1",
templateUrl:"Page1.html"
})
我們把這個狀態(tài)名字命名為PageTab.Page1 這時候的路由將會交給PageTab來處理,即在PageTab.html頁面中的ui-view中填充Page1.html中的內(nèi)容。同理如果state命名為PageTab.Page2 那么處理它的就會是PageTab.html這個頁面。
希望本文所述對你有所幫助,angularjs ui-router中路由的二級嵌套就給大家介紹到這里了。希望大家繼續(xù)關(guān)注我們的網(wǎng)站!想要學(xué)習(xí)angularjs可以繼續(xù)關(guān)注本站。
相關(guān)文章
Angular2 組件間通過@Input @Output通訊示例
本篇文章主要介紹了Angular2 組件間通過@Input @Output通訊示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
創(chuàng)建你的第一個AngularJS應(yīng)用的方法
這篇文章主要介紹了創(chuàng)建你的第一個AngularJS應(yīng)用的方法,AngularJS是一個非常具有人氣的JavaScript框架,需要的朋友可以參考下2015-06-06
angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題詳解
這篇文章主要給大家介紹了angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05
angularjs使用gulp-uglify壓縮后執(zhí)行報錯的解決方法
下面小編就為大家分享一篇angularjs使用gulp-uglify壓縮后執(zhí)行報錯的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03

