在使用Angular动态路由时遇到了一件奇怪的事情。
动态路由仅在被RouterLink
调用时才起作用。
但是,每当我尝试通过直接在浏览器中输入URL来访问路由时,应用就会崩溃。
(每个必需的脚本文件的Dev控制台日志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>
真的很抱歉,如果这是一个白痴问题,但是我已经为此苦苦挣扎了好几天了。 谢谢!
答案 0 :(得分:0)
使用HashLocationStrategy
。通过用RouterModule.forRoot(routes)
替换RouterModule.forRoot(routes, {useHash: true})
。
请参阅:https://codecraft.tv/courses/angular/routing/routing-strategies/,以获取更多详细信息。