首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的子线路不能在angular2中工作?

为什么我的子线路不能在angular2中工作?
EN

Stack Overflow用户
提问于 2016-06-05 10:18:38
回答 1查看 485关注 0票数 0

为什么这条地铁不能用?我查过了,所以问A similar issue。我实现了给出的解决方案,将更具体的路线移到第一位,但这并没有解决问题。

App.component.ts

代码语言:javascript
复制
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

代码语言:javascript
复制
    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中的链接时,会得到以下错误:

未处理的拒绝承诺:无法与任何路线相匹配。当前部分:“今天”。可用路线:‘/whatsup/.’、‘/我们的建议’、‘/休假-审查’、‘/在城里的交易’。;区域:角;任务: Promise.then;值: Object { message:“无法匹配任何路由。当前se…”,堆栈:"BaseException@http://localhost:3000…“}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 10:23:03

在RC.x路由器中,/...不再是必需的,也是不被识别的。只要把它移除:

代码语言:javascript
复制
{path: '/whatsup', component: Whatsup}

RC.x路由器有几个问题,目前还不清楚角团队将如何进行。如果您要从router-deprecated开始迁移,最好还是留在不推荐的路由器上,直到清楚路由器的故事将如何发展为止。

关于@angular/router的一些已知问题

  • 确保您将路由器(constructor(router:Router) {})注入您的AppComponent,或者AppComponent的模板包含一个routerLink,否则路由器根本不会被调用。
  • @Routes()中的路由进行排序,以便更具体的路由优先,而不特定的路由排在最后,否则将找不到第一个之后的路由。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37640774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档