2016-11-08 20 views
0

こんにちは私は、角度2のナビゲーションでデータの解析に問題があります。私は2つのデータを渡したいクリックイベントを使用して..私はクリックイベントを持ってmenu.component.tsセクションでは....最初angular2のナビゲーションを使用してデータを解析する方法

を記述することができます(これは、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を取得したいと思います。将来の進歩のために。

私に助けてもらえますか、どうすればこの価値を得ることができますか? New.Component.ts

答えて

0

はちょうどクエリのparam idを抽出するためのOnInit機能に以下のコードを使用します(ここでは+整数としてそれを解析することである)あなたのNew.Component.tsファイルで

constructor(private route : ActivatedRoute){} 

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

、などの

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

パスのparamsは、 'paramsは' 名前を見つけることができませんが.....これは未定義 –

0

メイク以下の変更、あなたのURLのparamsを確認してください名前はidであるか、必要に応じてコードを変更する必要があります。例her on plnkr作業、モジュールを含む危機フォルダ

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

が印刷され表示されます... –

+0

は今私の答えをチェックします –

0

crisis-details.component.tsを見て、コンストラクタ

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

注入は

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

} 

ngOnInit() { 
      this.activeRoute.params.forEach((params: Params) => { 
      this.id= +params['id']; 
      } 
、ngOnInitフックでのparamsを見つけます

は今、この新しいコンポーネントで、this.id

EDIT使用:

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

私は新しい動的な価値を渡したいと思います...私はIDでない "リンク"を取得したいです.... –

+0

@ R.Deyチェックを編集 –

+0

ありがとう。しかし、あなたは私が何を言いたいのか理解していませんでした。私の懸念は、ルータを使用して、あるURLからではなく、あるコンポーネントから別のコンポーネントに値をプッシュすることです。 2つのデータがあるとします。 1つはapiで、もう1つはidです。イド私はURLを通過します。子供のセクションで私はこのapiが欲しいです。どうすればいいの?イオン2 nav.push()のように。 Angular-2にも同じことをしたい –

関連する問題