routerLink 指令的问题

Issue with routerLink directive

我正在编写一个 Angular2 应用程序,其中包含一些带有组件路由器的路由。

截至今天,我正在使用 angular-2.0.0-beta.3.

在子组件中,我尝试将 routerlink 指令与以下模板一起使用:

<a [routerLink]=['/Home']>Go Home</a>.

相反,呈现的是:

<a>Go Home</a>

没有抛出任何异常,将其保留为无效锚点。

请务必注意,router.navigate(['Home']) 正在按预期工作。

app.component.ts:

@Component({
    selector: 'app',
    providers: [WrapperService],
    template: '<router-outlet></router-outlet>',
    directives: [ROUTER_DIRECTIVES]
})
   @RouteConfig([
    { path: '/home', as: 'Home', component: HomeComponent, useAsDefault: true }
])
export class AppComponent {
    constructor() { }
}

home.component.ts

@Component({
    selector: 'home',
    template: '<a [routerLink]="['/Home']">Go home</a>',
    directives: [ROUTER_DIRECTIVES]
})
export class HomeComponent {
    constructor() { }
}

实际上,这些文件应该只显示工作 link 到...当前页面(为简单起见)。

这里缺少什么?

您使用的 as 语法不久前已被弃用并重命名为 name

这是我定义路线的方式。

 @RouteConfig([
   new Route({ path: '/spreadsheet', component: Spreadsheet, name: 'Spreadsheet' })
 ])

<a [routerLink]="['/Spreadsheet']">Virtualized Spreadsheet</a>

更多信息在这里:http://www.syntaxsuccess.com/viewarticle/routing-in-angular-2.0

嗯,看来我缺少 angular2-polyfills.js 依赖项。 我不确定为什么需要它,但显然,它会影响几件事,其中包括呈现链接的方式。