2016-11-08 58 views
0

您好我正在面對角度2導航中的數據解析問題。讓我們使用點擊事件,我想傳遞兩個數據說明第一....如何在angular2中使用導航解析數據

在menu.component.ts部分我有一個click事件。(也可能是API或靜態數據)

模板:

<p (click) = "clickData(link, id)">Click </p> 

我想這個鏈接發送到像不同的組件.....

@Component { 

    constructor(private route : Router){} 

    clickData(link, id){ 
     this.route.navigation(["/text",id], link); 
    } 
} 

到現在它工作正常。現在我這個導航進入一個名爲「New.Component.ts」的新組件...

這裏我想要得到這個鏈接和ID。爲了未來的進步。

你能幫我嗎,我怎麼能得到這個值....?

回答

0

New.Component.ts只需使用下面的代碼中的OnInit函數提取查詢參數id(這裏+是解析它作爲整數)在New.Component.ts文件

constructor(private route : ActivatedRoute){} 

    ngOnInit() { 
    this.route.params.forEach((params: Params) => { 
    this.selectedId = +params['id']; 
    }); 
    } 
+0

找不到名稱 'PARAMS' .....這正顯示出 –

0

化妝以下更改,請確保您的網址參數名稱應該是id或根據需要更改代碼。工作示例her on plnkr,看crisis-details.component.ts危機夾

constructor(private _routeParams: RouteParams) {} 

    ngOnInit() { 
    let id = +this._routeParams.get('id'); // in my case param name is "id", 
              //use what ever you defined 
    console.log(id); 
    } 
+0

undefined是印刷.... –

+0

現在檢查我的答案 –

0

包括模塊下,

import { Router, ActivatedRoute, Params } from '@angular/router'; 

注入的構造器

id: number; 
constructor(private router: Router, private activeRoute: ActivatedRoute) { 

} 

找到ngOnInit鉤參數,可以

ngOnInit() { 
      this.activeRoute.params.forEach((params: Params) => { 
      this.id= +params['id']; 
      } 

現在在這個新組件,使用this.id

編輯:

@RouteConfig([{path: '/component/:id/:link',name: 'MyCompB', component:MyCompB}]) 

通PARAMS一樣,

this._router.navigate(['MyCompB', {id: "someId", link: "your link"}]); 
+0

針對每個點擊功能我想通過新的動態值...我想獲得「鏈接」不ID .. –

+0

@ R.Dey檢查編輯 –

+0

謝謝。但你不明白我想說什麼。我擔心的是,我想使用路由器將一個組件的值推向另一個組件,而不是通過url。假設我有兩個數據。一個是api,另一個是id。我將通過網址傳遞。但是在小孩部分,我想要這個api。我該怎麼做...?就像離子2 nav.push()。同樣的事情,我想Angular-2 –