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/了解更多详情。
我在使用 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/了解更多详情。