詳解Angular5路由傳值方式及其相關(guān)問題
目前Angular已經(jīng)升級(jí)到了穩(wěn)定版本Angular5,這次升級(jí)更小更快以及更穩(wěn)定!路由可以說是Angular甚至是單頁應(yīng)用的核心部分了吧!在angularjs中的路由最大的缺點(diǎn)就是無法嵌套路由,在Angular中解決了這個(gè)問題!在Angular中路由不僅僅是頁面跳轉(zhuǎn),其中還有一項(xiàng)叫英雄列表跳轉(zhuǎn)英雄詳情!在諸多的列表,不可能給每個(gè)英雄做一個(gè)詳情頁,于是乎路由參數(shù)起到作用了!通過路由傳入?yún)?shù)識(shí)別那個(gè)英雄的詳情!
現(xiàn)在對(duì)于路由傳值進(jìn)行詳解,首先一種方式是官網(wǎng)的導(dǎo)航到詳情的單值id傳入,另一種是多數(shù)據(jù)傳入!
1.單值傳入
['/hero', hero.id]
<ul class="items"> <li *ngFor="let hero of heroes$ | async" [class.selected]="hero.id === selectedId"> <a [routerLink]="['/hero', hero.id]"> <span class="badge">{{ hero.id }}</span>{{ hero.name }} </a> </li> </ul>
以上是官網(wǎng)示例
下面我們用我自己的示例介紹一下:
首先是列表頁,以及跳轉(zhuǎn)方式
然后是配置路由:(單值傳入的方式需要在詳情組件路由配置)
{ path:'listDetail/:id', component:ListDetailComponent },
傳入后就是取到參數(shù),在詳情組件的ngOnInit生命周期獲取參數(shù)
ngOnInit() { this.route.params .subscribe((params: Params) => { this.id = params['id']; console.log(this.id); console.log('傳值'); console.log(params) }) }
2.我們?cè)谄綍r(shí)的復(fù)雜的業(yè)務(wù)場(chǎng)景我們需要傳多個(gè)數(shù)據(jù),這時(shí)候該怎么辦呢?這時(shí)候我們就用到了queryParams
這里數(shù)據(jù)我是直接拿上去的,同樣你可以組織好數(shù)據(jù),一個(gè)參數(shù)放上去,簡(jiǎn)化html結(jié)構(gòu),現(xiàn)在有個(gè)問題,這樣多值傳入路由參數(shù)怎么配置呢?/:id/:id???我這個(gè)參數(shù)多少也不是固定的咋辦?其實(shí)這種方式不需要配置路由!你只需要傳入和取到數(shù)據(jù)就可以了!
ngOnInit() { this.route.queryParams .subscribe((params: Params) => { this.id = params['id']; this.state = params['state']; console.log(params) console.log(this.id); console.log(this.state); }) }
以上就是Angular路由傳值兩種方式!希望對(duì)大家有幫助!也希望大家多多支持腳本之家。
- 對(duì)angular4子路由&輔助路由詳解
- Angular2之二級(jí)路由詳解
- 詳解Angular路由之路由守衛(wèi)
- Angular4.x通過路由守衛(wèi)進(jìn)行路由重定向?qū)崿F(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁面(推薦)
- 詳解Angular路由 ng-route和ui-router的區(qū)別
- 詳解AngularJS1.6版本中ui-router路由中/#!/的解決方法
- angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁面問題詳解
- Angular 4.x 路由快速入門學(xué)習(xí)
- 詳解Angular路由之子路由
相關(guān)文章
AngularJS實(shí)現(xiàn)的根據(jù)數(shù)量與單價(jià)計(jì)算總價(jià)功能示例
這篇文章主要介紹了AngularJS實(shí)現(xiàn)的根據(jù)數(shù)量與單價(jià)計(jì)算總價(jià)功能,涉及AngularJS事件響應(yīng)與數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-12-12詳解angularJs中關(guān)于ng-class的三種使用方式說明
本篇文章主要介紹了angularJs中關(guān)于ng-class的三種使用方式說明,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Angular進(jìn)行簡(jiǎn)單單元測(cè)試的實(shí)現(xiàn)方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Angular進(jìn)行簡(jiǎn)單單元測(cè)試的實(shí)現(xiàn)方法,文中僅用了幾行代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Angular具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08解決angular雙向綁定無效果,ng-model不能正常顯示的問題
今天小編就為大家分享一篇解決angular雙向綁定無效果,ng-model不能正常顯示的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Angularjs Ng_repeat中實(shí)現(xiàn)復(fù)選框選中并顯示不同的樣式方法
今天小編就為大家分享一篇Angularjs Ng_repeat中實(shí)現(xiàn)復(fù)選框選中并顯示不同的樣式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09JavaScript框架Angular和React深度對(duì)比
這篇文章主要介紹了JS框架中Angular和React不同和差異,以及兩個(gè)框架的深度對(duì)比介紹。2017-11-11Angular 多級(jí)路由實(shí)現(xiàn)登錄頁面跳轉(zhuǎn)(小白教程)
這篇文章主要介紹了Angular 多級(jí)路由實(shí)現(xiàn)登錄頁面跳轉(zhuǎn)(小白教程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11