問題タブ [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.
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 が完全に生成されました。しかし、私はまだ次のエラーが発生します:
上記のルーティングに何か問題があるようです。