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)文章
關(guān)于Angular2 + node接口調(diào)試的解決方案
這篇文章主要給大家介紹了關(guān)于Angular2 + node接口調(diào)試的解決方案,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05Angular中ng-options下拉數(shù)據(jù)默認(rèn)值的設(shè)定方法
本篇文章主要介紹了Angular中ng-options下拉數(shù)據(jù)默認(rèn)值的設(shè)定方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06AngularJS服務(wù)service用法總結(jié)
這篇文章主要介紹了AngularJS服務(wù)service用法,結(jié)合實(shí)例形式總結(jié)分析了服務(wù)Service的概念、功能及自定義服務(wù)的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12AngularJS通過(guò)$location獲取及改變當(dāng)前頁(yè)面的URL
本篇將介紹AngularJS中的$location服務(wù)的基本用法,$location服務(wù)的主要作用是用于獲取當(dāng)前url以及改變當(dāng)前的url,并且存入歷史記錄。本文通過(guò)示例代碼介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09創(chuàng)建你的第一個(gè)AngularJS應(yīng)用的方法
這篇文章主要介紹了創(chuàng)建你的第一個(gè)AngularJS應(yīng)用的方法,AngularJS是一個(gè)非常具有人氣的JavaScript框架,需要的朋友可以參考下2015-06-06Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染
這篇文章主要介紹了Angular開(kāi)發(fā)實(shí)踐之服務(wù)端渲染,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03AngularJS中實(shí)現(xiàn)顯示或隱藏動(dòng)畫(huà)效果的方式總結(jié)
AngularJS 是一組用于創(chuàng)建單頁(yè)Web應(yīng)用的豐富框架,給構(gòu)建豐富交互地應(yīng)用帶來(lái)了所有功能,其中一項(xiàng)主要的特性是Angular對(duì)動(dòng)畫(huà)的支持。下面通過(guò)本文給大家介紹AngularJS中實(shí)現(xiàn)顯示或隱藏動(dòng)畫(huà)效果的方式總結(jié),對(duì)angularjs動(dòng)畫(huà)效果相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)2015-12-12