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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM