問題タブ [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 投票する
0 に答える
267 参照

angular - URL パラメーターが不適切な場合にワイルドカード ルートをトリガーするにはどうすればよいですか?

Angular 6 では、Observable を使用して、次のように URL パラメータに基づいて詳細レコードのフェッチを管理しています。

catchError パイプでは、存在しない URL に移動しているだけなので、ワイルドカード ルートがトリガーされ、PageNotFoundComponent が表示されます。それは本当に複雑に思えますが、ルーターにそのコンポーネントを表示させる方法が他にわかりません。より良い方法はありますか?

これは私のセットアップのデモです: https://stackblitz.com/edit/angular-router-not-found?file=src%2Fapp%2Fhero%2Fhero-detail.component.ts

0 投票する
2 に答える
1132 参照

javascript - Angular ルーターは、IIS サーバーにデプロイされたときにクエリ パラメータを削除します

Angular ルーターを使用しようとしていますが、アプリのデプロイ時に問題が発生します。まず、ここに私のバージョンがあります:

2つの可能なルートが必要です:

  • mydomain.com/TestRouting/my-route
  • mydomain.com/TestRouting/my-route?route=whatever

とても簡単そうですよね?

特定のモジュールでのルート定義は次のとおりです。

もちろん、このモジュールを AppModule にインポートし、app.component.html に router-outlet マークアップを追加しました。

私の RouteComponent では、次の方法でクエリ パラメータを取得します。

IIS サーバーに Web サイトを展開したので、次の web.config ファイルを追加しました。

問題: ローカルではうまく動作します... (ng serve) ローカル モードとプロダクション モードでもうまく動作します (ng serve --prod)

このコマンドでアプリをビルドします: ng build --base-href /TestRouting/ --prod

展開したら、

mydomain.com/TestRouting/はmydomain.com/TestRouting/my-routeにリダイレクトします(予期される動作) mydomain.com/TestRouting/my-routeはコンポーネントをレンダリングします (予期される動作) しかし、 mydomain.com /TestRouting/my-route?route= mydomain.com/TestRouting/my-routeへのリダイレクトをテストします (まあ、それは問題です...)

誰にもアイデアがありますか?どうもありがとうございました。