對(duì)angular4子路由&輔助路由詳解
子路由學(xué)習(xí)筆記:
子路由和路由一樣的配置方法,都是聲明好路由的入口,路由的路徑,路由的出口,不一樣的是自路由是嵌套在副路由里面的并且由children表明這是子路由且可以無(wú)限循環(huán)嵌套。
路由入口:需要注意的是在子路由的入口處不能再用/來(lái)跟路徑名,/會(huì)告訴angular去找跟組件,就會(huì)找到跟組件對(duì)應(yīng)的模塊,子路由需要用./
1.設(shè)置根路由入口:在模板(html)上設(shè)置,路由入口就是點(diǎn)擊哪里開(kāi)始路由到新組件(點(diǎn)擊首頁(yè)到首頁(yè)去)
<a [routerLink]="['/']">主頁(yè)</a> <a [routerLink]="['/product']" [queryParams]="{id:1}">商品詳情</a> <a [routerLink]="['/home',2]">主頁(yè)</a>
子路由入口:(子路由是./)字路由是路由里面套的路由可以無(wú)限嵌套。
<a [routerLink]="['./']">商品描述</a> <a [routerLink]="['./seller',99]">商品描述</a>
路由出口(路由出口是指新的組件將在哪里顯示。入口指定什么時(shí)候加載新組件,出口指加載完的組件顯示在哪里):路由的出口和入口均在模板里面設(shè)置
<router-outlet></router-outlet>
路由路徑:當(dāng)路由的出口入口都設(shè)置好了的時(shí)候就來(lái)配置路由的路徑。路徑指定了當(dāng)訪問(wèn)哪條路徑的時(shí)候加載哪個(gè)模板
const routes:Routes=[ {path:'',redirectTo:'/home',pathMatch:'full'}, {path:'product',component:ProductComponent,children:[ {path:'',component:ProductdescComponent} , {path:'seller/:id',component:SellerComponent} ]}, {path:'home/:id',component:HomeComponent},//整個(gè)路徑被劃分成兩段變量,一段是路徑,一段時(shí)參數(shù) {path:'**',component:Code404Component}//通配符,當(dāng)路徑找不到的時(shí)候訪問(wèn) ];
輔助路由:
分三步:
1.在主路由的插座也就是出口處定義一個(gè)輔助路由插座:也就是定義個(gè)輔助路由的出口:輔助路由的出口定義和主路由一樣,只是輔助路由比主路由多了一個(gè)name屬性:用來(lái)指定輔助路由顯示那幾個(gè)組件
這里指輔助路由顯示outlet叫做aux對(duì)應(yīng)的組件
<router-outlet></router-outlet> <router-outlet name="aux"></router-outlet>
2.配置輔助路由路徑:必須加一個(gè)outlet屬性,指定該路由顯示在名字叫什么的輔助路由出口(插座)上;
這里指當(dāng)訪問(wèn)chat時(shí)加載XchatComponnet顯示在名字叫aux的這個(gè)輔助路由出處。
{path:'chat',component:XhatComponent,outlet:'aux'},
3.配置入口參數(shù):輔助路由的參數(shù)將是一個(gè)對(duì)象,這個(gè)對(duì)象里面有一個(gè)屬性outlets,這個(gè)屬性的值也是一個(gè)對(duì)象,該對(duì)象里面?zhèn)饕粋€(gè)name屬性指定要顯示的輔助路由的名字,值是該輔助路由需要顯示的組件路徑;比如下面:名字叫aux的輔助路由將顯示路徑為chat的組件
需要注意的是當(dāng)不希望輔助路由顯示的時(shí)候可以吧name設(shè)置為null。
這里指點(diǎn)擊開(kāi)始聊天的時(shí)候加載路徑為chat對(duì)應(yīng)的組件,顯示在名字叫做aux的輔助路由出口上。
<a [routerLink]="[{outlets:{aux:'chat'}}]">開(kāi)始聊天</a> <a [routerLink]="[{outlets:{aux:null}}]">結(jié)束聊天</a>
當(dāng)希望跳轉(zhuǎn)輔助路由的同時(shí)主路由跳轉(zhuǎn)到指定的組件的時(shí)候:可以在入口文件加一個(gè)屬性:primary,屬性的值是需要跳轉(zhuǎn)的主組件的路由路徑例如下面點(diǎn)擊聊天的同時(shí)不管目前在哪個(gè)組件下主路由都會(huì)跳轉(zhuǎn)回home路徑下的組件
<a [routerLink]="[{outlets:{primary:home, aux:'chat'}}]">開(kāi)始聊天</a>
以上這篇對(duì)angular4子路由&輔助路由詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用angularjs1.4制作的簡(jiǎn)易滑動(dòng)門(mén)效果
本文主要介紹了利用angularjs1.4制作的簡(jiǎn)易滑動(dòng)門(mén)效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02簡(jiǎn)單談?wù)凙ngular中的獨(dú)立組件的使用
這篇文章主要介紹了簡(jiǎn)單談?wù)凙ngular中的獨(dú)立組件的使用的相關(guān)資料,通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),需要的朋友可以參考下2022-08-08angular directive的簡(jiǎn)單使用總結(jié)
directive(指令)是angular的一個(gè)非常強(qiáng)大又有用的功能,它相當(dāng)于實(shí)現(xiàn)了組件化的概念,我們可以通過(guò)它公共地自定義DOM元素或CLASS類(lèi)或ATTR屬性,并且在這基礎(chǔ)上進(jìn)行操作scope、綁定事件等等2017-05-05深入學(xué)習(xí)AngularJS中數(shù)據(jù)的雙向綁定機(jī)制
這篇文章主要介紹了AngularJS中數(shù)據(jù)的雙向綁定機(jī)制,雙向綁定使得HTML中呈現(xiàn)的view與AngularJS中的數(shù)據(jù)一致,是Angular的重要特性之一,需要的朋友可以參考下2016-03-03利用require.js與angular搭建spa應(yīng)用的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于利用require.js與angular搭建spa應(yīng)用的方法實(shí)例,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起看看吧。2017-07-07AngularJS 在同一個(gè)界面啟動(dòng)多個(gè)ng-app應(yīng)用模塊詳解
這篇文章主要介紹了AngularJS 在同一個(gè)界面啟動(dòng)多個(gè)ng-app應(yīng)用模塊詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12詳解Angular Karma測(cè)試的持續(xù)集成實(shí)踐
這篇文章主要介紹了詳解Angular Karma測(cè)試的持續(xù)集成實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11