angular4.0中路由傳遞引數、獲取引數最nice的寫法
阿新 • • 發佈:2019-01-29
研究ng4的官網,終於找到了我想要的方法。我想要的結果是用‘&’拼接引數傳送,這樣閱讀上是最好的。
否則很多‘/’的拼接,容易混淆引數和元件名稱。
一般我們頁面跳轉傳遞引數都是這樣的格式:
但是在SPA單頁應用中卻是下面的結果居多【初級視訊都是這樣敷衍的】
那麼怎麼實現我說的結果呢?
重點開始了。
實現從product頁面跳轉到product-detail頁面。
step1:在app-routing.module.ts中配置路由。
const routes: Routes = [ { path: 'product', component: ProductComponent, }, { path: 'product-detail', component: ProductDetailComponent, } ];
step2:在product.ts中書寫跳轉,並傳引數。
constructor(
private router: Router, //這裡需要注入Router模組
){}
jumpHandle(){
//這是在html中繫結的click跳轉事件
this.router.navigate(['product-detail'], {
queryParams: {
productId: '1',
title: 'moon'
}
});
}
step3:在product-detail.ts中獲取傳遞過來的引數productId、title
constructor(
private activatedRoute: ActivatedRoute, //這裡需要注入ActivatedRoute模組
) {
activatedRoute.queryParams.subscribe(queryParams => {
let productId = queryParams.productId;
let title = queryParams.title;
});
}
ok,就這樣完美的解決了。