に、私はルートにパラメータを渡すと、このコードを使用して、そこに移動することができます。がパラメータとアウレリアルートにナビゲートし、新しいブラウザタブ
this.router.navigateToRoute('CaseList', { RefNo: this.selectedData.RefNo
}, { replace: true })
パラメータは、新しいページに正しく渡されます。
ただし、新しいタブでページを開きたいとします。私は試しました:
window.open(this.router.generate('CaseList', { RefNo:
this.selectedData.RefNo }),'_blank');
これは新しいタブを開き、パラメータ値をURLに追加します。 http://localhost:49328/AppCaseMgmt/CaseList/20150000015、しかし、私はこのような活性化にパラメータの値を読み取ろうとします
activate(params) {
console.log('activate in case list');
console.log(params.RefNo);
....
}
それは未定義です。
私は
this.router.addRoute({
route: "/AppCaseMgmt/CaseList/:RefNo", name: "CaseList", moduleId: "app/case-management/case-list",
title: "CaseMgmt:CaseManagement_SiteMapHeaderCaseManagement_title" });
this.router.refreshNavigation();
を使用してルータに動的にルートを追加していますが、それは私の知る限り承知しているとの違いを作るべきではありません。 (私は代わりにconfig.mapへのルートを追加しようとしましたが、成功しませんでした)。私はこれが不可能だと考え始めている。誰にもアイデアはありますか?
おかげで、 アンソニー
こんにちは。実際の例をありがとうございました。それが可能であることを知るのに大いに役立ちます。残念ながら私はまだ私のプロジェクトでそれを働かせていません。なぜ(または私がそれを修正したのか)という有益な情報があるとすぐに、ここに投稿します。 –
それは私のために働いたが、すべてのルートでやらなければならなかったので、私はルータの定義にオプションを追加した。この答えで説明した:http://stackoverflow.com/a/41683970/815590 –