国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular2 (RC5) 路由與導航詳解

2019-11-20 08:55:17
字體:
來源:轉載
供稿:網友

之前總結過RC4的路由配置,Angular2升級RC5之后增加了NgModule和RouterModule等等很多組件,所以現在的路由配置方式也變化比較大。

1.<base href>

大多數帶路由的應用都要在 index.html 的 <head>標簽下頂部添加一個<base>元素。

2.配置路由器

app.routing.ts

import { Routes, RouterModule } from '@angular/router';const appRoutes: Routes = [  {    path: '',    redirectTo: '/dashboard',    pathMatch: 'full'  },  {    path: 'heroes',    component: HeroesComponent  },  {    path: 'dashboard',    component: DashboardComponent  },  {    path: 'detail/:id',    component: HeroDetailComponent  }]export const routing = RouterModule.forRoot(appRoutes);

創建一個Routes類型數組,它會把每一個URL匹配到path,匹配成功則映射到該path對應的組件component上。
然后把這個路由數組appRoutes通過RouterModule.forRoot(appRoutes)導出。

3.引用路由

app.module.ts

import { routing } from './app.routing';@NgModule({  imports: [    BrowserModule,    routing  ],  declarations: [    AppComponent    // some component  ],  bootstrap: [ AppComponent ]})export class AppModule {}

就這樣,我們在@NgModule的imports中引用了我們配置好的路由器。

4.在模板中使用路由

完成上面的2、3步驟,我們就能在模板中使用路由了

app.component.ts

template: `   <nav>     <a routerLink='/dashboard' routerLinkActive='active'>Dashboard</a>     <a routerLink='/heroes' routerLinkActive='active'>Heroes</a>   </nav>   <router-outlet></router-outlet>`

我們在<a>標簽中添加了routerLink指令,可以一次性綁定到我們路由中的path值。
如果這個URL的path和routerLink匹配,就把映射到的組件在<router-outlet>中顯示。

我們還可以往<a>中添加一個routerLinkActive指令,用于在相關的routerLink被激活時所在元素添加或移除CSS類。該指令可以直接添加到該元素上,也可以直接添加到其父元素上。

5.總結

在此,我們就完成了Angular2 (RC5)的路由配置。RC5和RC4的路由配置不同之處就在于, RC5的路由不需要在設置路由模板的TS文件導入路由庫

import { ROUTER_DIRECTIVES } from '@angular/router';

直接在NgModule中引入配置好的路由就可以

@NgModule({  imports: [    routing  ]})

導入的路由組件由

import { provideRouter, RouterConfig } from '@angular/router';

變成了

import { Routes, RouterModule } from '@angular/router';

路由數組的導出方式由

export const appRouterProviders = [provideRouter(routes)];

變成了

export const routing = RouterModule.forRoot(appRoutes);

其他部分大體上都是相同的,比如路由的數組的配置寫法、routerLink指令和<router-outlet>等等。詳情見我寫過的RC4的路由配置方式。

以上就是對Angular2 (RC5) 路由與導航的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台南县| 名山县| 福贡县| 无极县| 凯里市| 贵德县| 承德市| 安阳县| 唐河县| 榆中县| 开鲁县| 宁强县| 孟村| 安西县| 盈江县| 郁南县| 岱山县| 明星| 辽阳县| 台中市| 全椒县| 林周县| 密云县| 德安县| 百色市| 蓝山县| 嵩明县| 隆安县| 枣阳市| 民权县| 扎赉特旗| 平阴县| 逊克县| 荣昌县| 常宁市| 涿州市| 东光县| 伊川县| 织金县| 万盛区| 郎溪县|