詳解Angular5路由傳值方式及其相關(guān)問(wèn)題
目前Angular已經(jīng)升級(jí)到了穩(wěn)定版本Angular5,這次升級(jí)更小更快以及更穩(wěn)定!路由可以說(shuō)是Angular甚至是單頁(yè)應(yīng)用的核心部分了吧!在angularjs中的路由最大的缺點(diǎn)就是無(wú)法嵌套路由,在Angular中解決了這個(gè)問(wèn)題!在Angular中路由不僅僅是頁(yè)面跳轉(zhuǎn),其中還有一項(xiàng)叫英雄列表跳轉(zhuǎn)英雄詳情!在諸多的列表,不可能給每個(gè)英雄做一個(gè)詳情頁(yè),于是乎路由參數(shù)起到作用了!通過(guò)路由傳入?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)示例
下面我們用我自己的示例介紹一下:
首先是列表頁(yè),以及跳轉(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è)問(wèn)題,這樣多值傳入路由參數(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通過(guò)路由守衛(wèi)進(jìn)行路由重定向?qū)崿F(xiàn)根據(jù)條件跳轉(zhuǎn)到相應(yīng)的頁(yè)面(推薦)
- 詳解Angular路由 ng-route和ui-router的區(qū)別
- 詳解AngularJS1.6版本中ui-router路由中/#!/的解決方法
- angular2中router路由跳轉(zhuǎn)navigate的使用與刷新頁(yè)面問(wèn)題詳解
- Angular 4.x 路由快速入門學(xué)習(xí)
- 詳解Angular路由之子路由
相關(guān)文章
AngularJS實(shí)現(xiàn)表單元素值綁定操作示例
這篇文章主要介紹了AngularJS實(shí)現(xiàn)表單元素值綁定操作,結(jié)合具體實(shí)例形式分析了AngularJS針對(duì)表單元素屬性相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
AngularJS ng-bind 指令簡(jiǎn)單實(shí)現(xiàn)
本文主要介紹AngularJS ng-bind 指令,在這里對(duì)ng-bind 指令做了詳細(xì)資料整理并講解,提供了實(shí)例代碼以便大家參考,有需要的小伙伴可以參考下2016-07-07
angularjs使用directive實(shí)現(xiàn)分頁(yè)組件的示例
本篇文章主要介紹了angularjs使用directive實(shí)現(xiàn)分頁(yè)組件的示例,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-02-02
AngularJS 中的Promise --- $q服務(wù)詳解
這篇文章主要介紹了AngularJS 中的Promise --- $q服務(wù)詳解方法的相關(guān)資料,需要的朋友可以參考下2016-09-09
詳解angular用$sce服務(wù)來(lái)過(guò)濾HTML標(biāo)簽
這篇文章主要介紹了詳解angular用$sce服務(wù)來(lái)過(guò)濾HTML標(biāo)簽,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
spring+angular實(shí)現(xiàn)導(dǎo)出excel的實(shí)現(xiàn)代碼
這篇文章主要介紹了spring+angular實(shí)現(xiàn)導(dǎo)出excel的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
詳解webpack+angular2開(kāi)發(fā)環(huán)境搭建
這篇文章主要介紹了詳解webpack+angular2開(kāi)發(fā)環(huán)境搭建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

