角では、カスタム404ページを表示するためにワイルドカードルーティングを使用する方法を理解しています。ただし、存在しないコンポーネントのケースのみをカバーします。角4:処理IDが見つかりません
ユーザーが既存のコンポーネントにアクセスしたが、存在しないIDを渡したケースはどうですか?
たとえば、/widgets/12345
12345
はデータベースに存在しません。 この場合、404を表示するベストプラクティスは何ですか?
エラーをキャッチしてユーザーを404ページにリダイレクトすることができました。しかし、それは正しくないと思われます。あなたは通常404のリダイレクトにはなりませんが、代わりに同じURLにとどまりますが、代わりに404ページが必要です。
"コンポーネントを参照している間に実際にHTTPリクエストを行っていない" - これはわかりません。私は '/ widgets/12345'に行きます。サービスがトリガされ、サーバAPIへのHTTPリクエストがトリガされ、404エラーが返されます。 –
あなたのコードには 'this.router.navigate(['/ 404-url']);'が含まれています。これは404ページに手動でリダイレクトされていることを意味します。つまり、URLバーは '/ 404-url'に変更されます。もしそうなら、それは問題を解決しない、私はすでにそのような実装が... –