問題タブ [angular-router-params]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
47 参照

angular - Angular Router を使用して Angular CLI 8+ で子ルートを使用しているときに、そのうちの 1 つがナビゲーション用の URL の間にある 2 つのルート パラメータを入力する方法

次のように 2 つのルート パラメータを提供するページに移動しようとしています。

author/journals/:journal_Id/draftArticles/:articleId

ルートパラメーターがルートの最後にある場合、2つのパラメーターを指定できることを知っていますauthor/journals/draftArticles/:journal_Id/:articleId, journal_Id, articleId。これにより、おそらく問題が解決します。しかし、私が試みている構造を維持したかったのです。

上記は私のルートの構造です。

AuthorNavComponent私のSidenavは、子ルートを表示するために別のルーターアウトレットも使用しています。私がクリックしているボタンは、最終的に serviceA のメソッドを呼び出す Sidenav 内にあり、サーバーへの呼び出しを行った後、上記の指定された URL、つまりhttps://localhost:4200/author/journals/:journal_Id/draftArticlesにリダイレクトします/:記事ID

さらに情報が必要な場合はお知らせください

アップデート

真ん中のサービスを使ってみて、移動先のルートに渡す をjournalService作成しました。BehaviorSubject<any[]>ルートが であるコンポーネントでauthor/journals/3、私はこれをサブスクライブしBehaviorSubject<any[]>、次のように相対的な ActivatedRoute を渡すこの BehaviorSubject の値を変更してナビゲートしました。

仕訳コンポーネント

その他のコンポーネントの値を変更している場所からBehaviorSubject<any[]>

これを使用して更新 2 ルートを生成することもできます ->this.router.navigate(['author/journals', journalId, 'draftArticles', articleId]);しかし、それでも以下のエラーが持続します :(

上記の手法により、URL が完全に生成されました。しかし、私はまだ次のエラーが発生します:

エラー

上記のルーティングに何か問題があるようです。