为什么我的子路径在 angular2 中不起作用?
Why is my subroute not working in angular2?
为什么这条子路线不起作用?我检查了这个 SO 问题 。我通过将更具体的路线移到第一个来实施给出的解决方案,但这并没有解决问题。
App.component.ts
import {Whatsup} from "./whatsup.component";
...
template:`
<li id="whatsup" (click)="loadField('whatsup')" ><a [routerLink]="['/whatsup/...']"> Whatsup?</a></li>
<router-outlet></router-outlet>
`
...
@Routes([
{path: '/whatsup/...', component: Whatsup}
])
Whatsup.component.ts
import {Calendar} from "./Calendar.component";
...
template:`
<li class="list-group-item"><a [routerLink]="['/today']">{{today | date:'EEEEE'}}</a></li>
<router-outlet></router-outlet>
`
...
@Routes([
{path:"/today", component: Calendar}
])
Whatsup 加载成功,但是当我在 Whatsup 中单击 link 时,出现此错误:
未处理的承诺拒绝:无法匹配任何路由。当前段:'today'。可用路线:['/whatsup/...', '/our-recommendations', '/leave-review', '/deals-in-town']。 ;区域:angular;任务:Promise.then;值:对象{消息:"Cannot match any routes. Current se…",堆栈:"BaseException@http://localhost:3000…"}
/...
在 RC.x 路由器中不再需要,也无法识别。只需删除它:
{path: '/whatsup', component: Whatsup}
RC.x 路由器有几个问题,目前尚不清楚 Angular 团队将如何进行。如果您开始从 router-deprecated
迁移,最好继续使用已弃用的路由器,直到清楚路由器故事将如何向前发展。
@angular/router
的一些已知问题
确保您将路由器 (constructor(router:Router) {}
) 注入您的 AppComponent
或 AppComponent
s 模板包含 routerLink
,否则根本不会调用路由器。
对@Routes()
中的路由进行排序,以便更具体的路由在前,不太具体的路由在最后,否则将找不到第一个之后的路由。
为什么这条子路线不起作用?我检查了这个 SO 问题
App.component.ts
import {Whatsup} from "./whatsup.component";
...
template:`
<li id="whatsup" (click)="loadField('whatsup')" ><a [routerLink]="['/whatsup/...']"> Whatsup?</a></li>
<router-outlet></router-outlet>
`
...
@Routes([
{path: '/whatsup/...', component: Whatsup}
])
Whatsup.component.ts
import {Calendar} from "./Calendar.component";
...
template:`
<li class="list-group-item"><a [routerLink]="['/today']">{{today | date:'EEEEE'}}</a></li>
<router-outlet></router-outlet>
`
...
@Routes([
{path:"/today", component: Calendar}
])
Whatsup 加载成功,但是当我在 Whatsup 中单击 link 时,出现此错误:
未处理的承诺拒绝:无法匹配任何路由。当前段:'today'。可用路线:['/whatsup/...', '/our-recommendations', '/leave-review', '/deals-in-town']。 ;区域:angular;任务:Promise.then;值:对象{消息:"Cannot match any routes. Current se…",堆栈:"BaseException@http://localhost:3000…"}
/...
在 RC.x 路由器中不再需要,也无法识别。只需删除它:
{path: '/whatsup', component: Whatsup}
RC.x 路由器有几个问题,目前尚不清楚 Angular 团队将如何进行。如果您开始从 router-deprecated
迁移,最好继续使用已弃用的路由器,直到清楚路由器故事将如何向前发展。
@angular/router
确保您将路由器 (
constructor(router:Router) {}
) 注入您的AppComponent
或AppComponent
s 模板包含routerLink
,否则根本不会调用路由器。对
@Routes()
中的路由进行排序,以便更具体的路由在前,不太具体的路由在最后,否则将找不到第一个之后的路由。