Angular 8: 动态路由只有在使用 RouterLink 时才有效?

Angular 8: Dynamic Routing only working when using RouterLink?

我在使用 Angular 动态路由时遇到了一件奇怪的事情。 动态路由仅在被 RouterLink 调用时有效。 但是每当我尝试通过直接在浏览器中输入 URL 来访问路由时,应用程序就会崩溃。

(每个必需的脚本文件的开发控制台日志 Failed to load resource: the server responded with a status of 404 (Not Found)

我是否遗漏了什么,或者动态路由仅在 RouterLink 调用时才有效的具体原因?

任何感兴趣的人,这里有一些代码:

const appRoutes: Routes = [
   { path: "user", component: UserComponent },
   { path: "user/:userID", component: UserDetailComponent }
];

HTML

<ul class="list-unstyled">
   <li *ngFor="let user of users">
      <a [routerLink]="['/user', user]">{{ user }}</a>
   </li>
</ul>

如果这是一个愚蠢的问题,我真的很抱歉,但我已经为此苦苦挣扎了好几天。 谢谢!

使用HashLocationStrategy。通过将 RouterModule.forRoot(routes) 替换为 RouterModule.forRoot(routes, {useHash: true}).

参考:https://codecraft.tv/courses/angular/routing/routing-strategies/了解更多详情。