我正在學習 Angular,作為一個實踐專案,我正在為從 Docker 容器提供的 Wordpress API 開發前端界面(使用 angular 13)。
angular 應用程式必須顯示從 API 獲得的所有帖子的串列,并通過使用路由,一旦點擊一個帖子,在 /post/:id:/:slug/ 中應該只顯示請求的帖子。
我的專案代碼:
這些是被呼叫的一些日志:

當一個帖子被點擊時(例如標題為 Hello World 的帖子),地址欄中的 url 正確更改為 host:port/post/1/hello-world 并呼叫以下內容:

- 但頁面的內容不會改變。單擊的帖子未顯示(單獨顯示)。我想有一些路由問題,但一直無法找到它。我究竟做錯了什么?
uj5u.com熱心網友回復:
路由器嘗試按照定義的相同順序匹配路由。由于您已經**在發布頁面之前定義了通配符路由。
const routes: Routes = [
...
{
path: '**',
component: HomeComponent,
},
{
path: 'post/:id/:slug',
loadChildren: () => import('./post/post.module').then(m => m.PostModule),
},
];
當您嘗試訪問 post url 時,路由器會將其與通配符路由匹配并創建一個新的 HomeComponent
要解決它,您只需要將通配符路由移動到陣列的末尾。
干杯
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/402119.html
