研究ng4的官網,終於找到了我想要的方法。我想要的結果是用‘&’拼接參數傳送,這樣閱讀上是最好的。否則很多‘/’的拼接,容易混淆參數和組件名稱。
一般我們頁面跳轉傳遞參數都是這樣的格式:
http://angular.io/api?uid=1&username=moon
但是在SPA單頁應用中卻是下面的結果居多:
http://angular.io/api/1/moon
那么怎么實現我說的結果呢?重點開始了。
實現從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,就這樣完美的解決了。