欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Angular2 (RC4) 路由與導(dǎo)航詳解

 更新時間:2016年09月21日 11:01:43   作者:Yeaseon  
這篇文章主要介紹了Angular2 (RC4) 路由與導(dǎo)航的相關(guān)資料,需要的朋友可以參考下

基礎(chǔ)知識

1.<base href>

大多數(shù)帶路由的應(yīng)用都要在 index.html 的 <head>標簽下添加一個 <base>元素。

2.導(dǎo)入路由庫

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

3.配置

首選方案是用帶“路由數(shù)組”的provideRouter工廠函數(shù)([provideRouter(routes)])來啟動此應(yīng)用。

app.routes.ts

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

const routes: RouterConfig = [
 { path: 'crisis-center', component: CrisisCenterComponent },
 { path: 'heroes', component: HeroListComponent },
 { path: 'hero/:id', component: HeroDetailComponent },
 { path: '**', component: PageNotFoundComponent }
];

export const appRouterProviders = [
 provideRouter(routes)
];

 RouterConfig是一個路由數(shù)組,它決定如何導(dǎo)航。每個Route會把一個 URL 的 path映射到一個組件。

path不能使用斜杠/開頭。路由器會為我們解析和生成URL。

第三個路由中的id是一個路由參數(shù)的 token。

第四個路由中的**代表路由是一個通配符路徑。如果當(dāng)前無法匹配上我們配置過的任何一個路徑,路由器就會匹配上這一個,類似于 switch中的default。當(dāng)需要顯示 404 頁面,該特性非常有用。

我們將配置好的routes數(shù)組傳給provideRouter()函數(shù),這個函數(shù)返回一個經(jīng)過配置的 Router服務(wù)提供商

最后通過 appRouterProviders數(shù)組導(dǎo)出這個提供商,以便在main.ts中簡單的注冊路由器依賴。
在 main.ts中的bootstrap函數(shù)中注冊路由器的提供商。

main.ts

// main entry point
import { bootstrap }   from '@angular/platform-browser-dynamic';
import { AppComponent }  from './app.component';
import { appRouterProviders } from './app.routes';

bootstrap(AppComponent, [
 appRouterProviders
])
.catch(err => console.error(err));

4.<router-outlet>

上面的配置完成后,當(dāng) URL 變?yōu)?/heroes時,路由器就會匹配到path為heroes的Route,并且在宿主視圖中的<router-outlet>中顯示HeroListComponent組件。

5.[routerLink]

我們在<a>標簽中添加了routerLink指令,可以一次性綁定到我們路由中的path值。

如果routerLink想要綁定動態(tài)信息,我們就可以把它綁定到一個能夠返回路由鏈接數(shù)組的模板表達式上。路由器最終會把此數(shù)組解析成一個 URL 和一個組件視圖。

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

AppComponent模板

template: `
 <h1>Component Router</h1>
 <nav>
 <a routerLink="/crisis-center" routerLinkActive="active">Crisis Center</a>
 <a routerLink="/heroes" routerLinkActive="active">Heroes</a>
 </nav>
 <router-outlet></router-outlet>
`,

6.路由器狀態(tài)

在每個導(dǎo)航的生命周期完成時,路由器會構(gòu)建出一個 ActivatedRoute組成的樹,它表示路由器的當(dāng)前狀態(tài)。我們可以在應(yīng)用中任何使用 Router服務(wù)及其 routerState屬性來訪問當(dāng)前的RouterState值。

7.ROUTER_DIRECTIVES

RouterLink、RouterLinkActive和RouterOutlet是ROUTER_DIRECTIVES集合中的指令,所以需要在@Component元數(shù)據(jù)中加入到directives數(shù)組中。

directives: [ROUTER_DIRECTIVES]

以上就是對Angular2 (RC4) 路由與導(dǎo)航的資料整理,后續(xù)繼續(xù)補充相關(guān)資料,謝謝大家對本站的支持!

相關(guān)文章

  • AngularJS 過濾與排序詳解及實例代碼

    AngularJS 過濾與排序詳解及實例代碼

    這篇文章主要介紹了AngularJS 過濾與排序,這里整理了詳細的資料及簡單實例代碼,有需要的小伙伴可以參考下
    2016-09-09
  • Angular項目中$scope.$apply()方法的使用詳解

    Angular項目中$scope.$apply()方法的使用詳解

    這篇文章主要給大家介紹了關(guān)于Angular項目中$scope.$apply()方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Angularjs具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來看看吧。
    2017-07-07
  • Angular設(shè)置title信息解決SEO方面存在問題

    Angular設(shè)置title信息解決SEO方面存在問題

    爬蟲在檢索seo信息的時候會讀不了js給其賦的值,導(dǎo)致搜索引擎收錄不了或者收錄了無效的信息,下面本文給大家介紹Angular設(shè)置title信息解決SEO方面存在問題,需要的朋友可以參考下
    2016-08-08
  • angular2中Http請求原理與用法詳解

    angular2中Http請求原理與用法詳解

    這篇文章主要介紹了angular2中Http請求原理與用法,結(jié)合實例形式分析了AngularJS中http相關(guān)模塊實現(xiàn)http服務(wù)請求與相應(yīng)的相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • AngularJS+Bootstrap3多級導(dǎo)航菜單的實現(xiàn)代碼

    AngularJS+Bootstrap3多級導(dǎo)航菜單的實現(xiàn)代碼

    將介紹如何用AngularJS構(gòu)建一個強大的web前端系統(tǒng)。文章介紹如何實現(xiàn)多限級導(dǎo)航菜單。本文圖文并茂給大家介紹的非常詳細,感興趣的朋友參考下吧
    2017-08-08
  • angular route中使用resolve在uglify壓縮后問題解決

    angular route中使用resolve在uglify壓縮后問題解決

    這篇文章主要介紹了angular route中使用resolve在uglify壓縮后問題解決的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • angularjs 源碼解析之injector

    angularjs 源碼解析之injector

    這篇文章主要介紹angular中實現(xiàn)依賴注入的”幕后英雄” — 注入器(Injector)。說它是”幕后英雄”,是因為它才是依賴注入得以實現(xiàn)的主力。我們從源碼上來分析下他吧
    2016-08-08
  • Angularjs中使用輪播圖指令swiper

    Angularjs中使用輪播圖指令swiper

    這篇文章主要介紹了Angularjs中使用輪播圖指令swiper的相關(guān)知識,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下
    2017-05-05
  • AngularJS中$interval的用法詳解

    AngularJS中$interval的用法詳解

    在AngularJS中$interval用來處理間歇性處理一些事情,接下來通過本文給大家介紹AngularJS中$interval的用法,需要的朋友參考下
    2016-02-02
  • angularjs ocLazyLoad分步加載js文件實例

    angularjs ocLazyLoad分步加載js文件實例

    本篇文章主要介紹了angularjs ocLazyLoad分步加載js文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01

最新評論