您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)angular4中怎么實現(xiàn)子路由和輔助路由,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
1.設(shè)置根路由入口:在模板(html)上設(shè)置,路由入口就是點擊哪里開始路由到新組件(點擊首頁到首頁去)
<a [routerLink]="['/']">主頁</a> <a [routerLink]="['/product']" [queryParams]="{id:1}">商品詳情</a> <a [routerLink]="['/home',2]">主頁</a>
子路由入口:(子路由是./)字路由是路由里面套的路由可以無限嵌套。
<a [routerLink]="['./']">商品描述</a> <a [routerLink]="['./seller',99]">商品描述</a>
路由出口(路由出口是指新的組件將在哪里顯示。入口指定什么時候加載新組件,出口指加載完的組件顯示在哪里):路由的出口和入口均在模板里面設(shè)置
<router-outlet></router-outlet>
路由路徑:當(dāng)路由的出口入口都設(shè)置好了的時候就來配置路由的路徑。路徑指定了當(dāng)訪問哪條路徑的時候加載哪個模板
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}//通配符,當(dāng)路徑找不到的時候訪問 ];
輔助路由:
分三步:
1.在主路由的插座也就是出口處定義一個輔助路由插座:也就是定義個輔助路由的出口:輔助路由的出口定義和主路由一樣,只是輔助路由比主路由多了一個name屬性:用來指定輔助路由顯示那幾個組件
這里指輔助路由顯示outlet叫做aux對應(yīng)的組件
<router-outlet></router-outlet> <router-outlet name="aux"></router-outlet>
2.配置輔助路由路徑:必須加一個outlet屬性,指定該路由顯示在名字叫什么的輔助路由出口(插座)上;
這里指當(dāng)訪問chat時加載XchatComponnet顯示在名字叫aux的這個輔助路由出處。
{path:'chat',component:XhatComponent,outlet:'aux'},
3.配置入口參數(shù):輔助路由的參數(shù)將是一個對象,這個對象里面有一個屬性outlets,這個屬性的值也是一個對象,該對象里面?zhèn)饕粋€name屬性指定要顯示的輔助路由的名字,值是該輔助路由需要顯示的組件路徑;比如下面:名字叫aux的輔助路由將顯示路徑為chat的組件
需要注意的是當(dāng)不希望輔助路由顯示的時候可以吧name設(shè)置為null。
這里指點擊開始聊天的時候加載路徑為chat對應(yīng)的組件,顯示在名字叫做aux的輔助路由出口上。
<a [routerLink]="[{outlets:{aux:'chat'}}]">開始聊天</a> <a [routerLink]="[{outlets:{aux:null}}]">結(jié)束聊天</a>
當(dāng)希望跳轉(zhuǎn)輔助路由的同時主路由跳轉(zhuǎn)到指定的組件的時候:可以在入口文件加一個屬性:primary,屬性的值是需要跳轉(zhuǎn)的主組件的路由路徑例如下面點擊聊天的同時不管目前在哪個組件下主路由都會跳轉(zhuǎn)回home路徑下的組件
<a [routerLink]="[{outlets:{primary:home, aux:'chat'}}]">開始聊天</a>
看完上述內(nèi)容,你們對angular4中怎么實現(xiàn)子路由和輔助路由有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。