對angular4子路由&輔助路由詳解
子路由學習筆記:
子路由和路由一樣的配置方法,都是聲明好路由的入口,路由的路徑,路由的出口,不一樣的是自路由是嵌套在副路由里面的并且由children表明這是子路由且可以無限循環(huán)嵌套。
路由入口:需要注意的是在子路由的入口處不能再用/來跟路徑名,/會告訴angular去找跟組件,就會找到跟組件對應的模塊,子路由需要用./
1.設置根路由入口:在模板(html)上設置,路由入口就是點擊哪里開始路由到新組件(點擊首頁到首頁去)
<a [routerLink]="['/']">主頁</a> <a [routerLink]="['/product']" [queryParams]="{id:1}">商品詳情</a> <a [routerLink]="['/home',2]">主頁</a>
子路由入口:(子路由是./)字路由是路由里面套的路由可以無限嵌套。
<a [routerLink]="['./']">商品描述</a> <a [routerLink]="['./seller',99]">商品描述</a>
路由出口(路由出口是指新的組件將在哪里顯示。入口指定什么時候加載新組件,出口指加載完的組件顯示在哪里):路由的出口和入口均在模板里面設置
<router-outlet></router-outlet>
路由路徑:當路由的出口入口都設置好了的時候就來配置路由的路徑。路徑指定了當訪問哪條路徑的時候加載哪個模板
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},//整個路徑被劃分成兩段變量,一段是路徑,一段時參數(shù) {path:'**',component:Code404Component}//通配符,當路徑找不到的時候訪問 ];
輔助路由:
分三步:
1.在主路由的插座也就是出口處定義一個輔助路由插座:也就是定義個輔助路由的出口:輔助路由的出口定義和主路由一樣,只是輔助路由比主路由多了一個name屬性:用來指定輔助路由顯示那幾個組件
這里指輔助路由顯示outlet叫做aux對應的組件
<router-outlet></router-outlet> <router-outlet name="aux"></router-outlet>
2.配置輔助路由路徑:必須加一個outlet屬性,指定該路由顯示在名字叫什么的輔助路由出口(插座)上;
這里指當訪問chat時加載XchatComponnet顯示在名字叫aux的這個輔助路由出處。
{path:'chat',component:XhatComponent,outlet:'aux'},
3.配置入口參數(shù):輔助路由的參數(shù)將是一個對象,這個對象里面有一個屬性outlets,這個屬性的值也是一個對象,該對象里面?zhèn)饕粋€name屬性指定要顯示的輔助路由的名字,值是該輔助路由需要顯示的組件路徑;比如下面:名字叫aux的輔助路由將顯示路徑為chat的組件
需要注意的是當不希望輔助路由顯示的時候可以吧name設置為null。
這里指點擊開始聊天的時候加載路徑為chat對應的組件,顯示在名字叫做aux的輔助路由出口上。
<a [routerLink]="[{outlets:{aux:'chat'}}]">開始聊天</a> <a [routerLink]="[{outlets:{aux:null}}]">結(jié)束聊天</a>
當希望跳轉(zhuǎn)輔助路由的同時主路由跳轉(zhuǎn)到指定的組件的時候:可以在入口文件加一個屬性:primary,屬性的值是需要跳轉(zhuǎn)的主組件的路由路徑例如下面點擊聊天的同時不管目前在哪個組件下主路由都會跳轉(zhuǎn)回home路徑下的組件
<a [routerLink]="[{outlets:{primary:home, aux:'chat'}}]">開始聊天</a>
以上這篇對angular4子路由&輔助路由詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
深入學習AngularJS中數(shù)據(jù)的雙向綁定機制
這篇文章主要介紹了AngularJS中數(shù)據(jù)的雙向綁定機制,雙向綁定使得HTML中呈現(xiàn)的view與AngularJS中的數(shù)據(jù)一致,是Angular的重要特性之一,需要的朋友可以參考下2016-03-03利用require.js與angular搭建spa應用的方法實例
這篇文章主要給大家介紹了關于利用require.js與angular搭建spa應用的方法實例,文中通過示例代碼給大家介紹的非常詳細,對大家的理解和學習具有一定的參考學習價值,需要的朋友們下面跟著小編來一起看看吧。2017-07-07AngularJS 在同一個界面啟動多個ng-app應用模塊詳解
這篇文章主要介紹了AngularJS 在同一個界面啟動多個ng-app應用模塊詳解的相關資料,需要的朋友可以參考下2016-12-12