使用angular router路由傳遞數據


如何在路由時傳遞數據?

第一種方式:在查詢參數中傳遞數據           /product?id=1&name=2    =>     ActivatedRoute.queryParams[id]  

  傳遞方式:/product?id=1&name=2

  目標組建中接收參數方式: ActivatedRoute.queryParams[id]                //獲取id的值

 

第二種方式:在路由路徑中傳遞數據      { path:/product/:id }    =>    /product/1    =>    ActivatedRoute.params[id]

  定義路由路徑時指定路由的名字,如: { path:/product/:id }

  實際的路徑中攜帶參數,如:/product/1

  路由的目標組件中接收參數,如: ActivatedRoute.params[id]

  (1.修改路由中的path屬性,使其可以攜帶參數;)

 

  (2.修改路由鏈接的參數來傳遞數據)

  (3.接收參數)

第三種方式:在路由配置中傳遞數據    {path:/product, component:ProductComponent, data:[{isProd:true}]}    =>    ActivatedRoute.data[0][isProd]

  在路由配置中,通過data參數定義靜態的數據,可定義多個對象     {path:/product, component:ProductComponent, data:[{isProd:true}]}   

  在目標組建中接收參數  ActivatedRoute.data[0][isProd]

 

 

 

參數快照

this.productId = this.routeInfo.snapshot.params["id"];

參數訂閱subscribe()

this.routeInfo.params.subscribe((params:Params)=>this.productId=params["id"]);

 


免責聲明!

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



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