2016-12-02 17 views
2

アンカータグをボタンタグで置き換えて別のルートに移動しようとしています。その結果、私は次のようになりますクリックで呼び出される関数、持っている:角2はどのルートとも一致しません

<a class="btn btn-danger" [routerLink]="['../ticket-list', 'simple']" routerLinkActive="active"> Simple Report</a> 

submitReport (simpleOrDetailed : string) { 
     this.router.navigate(['../ticket-list', simpleOrDetailed]); 
} 

を、これはHTMLに埋め込まれ、それは完全に罰金働いていたように私はそれを持っていました

ここでは何が起こっていますか?私の理解から、まったく同じことをしているはずです。私はそれがこの と関数の本体を交換することによって、私のルートと一致するようになった

UPDATE

(ウェブレポートは、現在のコンポーネントの親コンポーネントだけでなく、チケットリストのコンポーネントです):

this.router.navigate(['web-report/ticket-list', simpleOrDetailed]); 

しかし、これは不快なページリロードを引き起こします。

答えて

1

あなたは相対的なナビゲーションを行う場合、私は無駄に次のことを試してみましたrelativeTo

this.router.navigate([crisis.id], { relativeTo: this.route }); 

https://angular.io/docs/ts/latest/guide/router.html

+0

を追加する必要があります。 'this.router.navigate([」../券 - 'this.router.navigate(['../ ticket-list'、simpleOrDetailed、{relativeTo:this.route.parent})は、 ]); ' 私はチケットリストのコンポーネントにアクセスできるようにディレクトリを上ろうとしています。 –

+0

これはうまくいくようです: 'this.router.navigate(['../ ticket-list'、simpleOrDetailed]、{relativeTo:this.route});'しかし、私はまだひどいページリロードを取得しています。それが助けになるなら、私がURLに持っているオブジェクトに関連するパラメータがあります(私はそこに表示するつもりはありません)。 –

+0

umpleasant page reloadとは何ですか? –

関連する問題