1. 程式人生 > >angular4.0中路由傳遞引數、獲取引數最nice的寫法

angular4.0中路由傳遞引數、獲取引數最nice的寫法

研究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,就這樣完美的解決了。