在角度为2的路由器插座内从一个组件链接到另一个组件?

时间:2016-12-05 17:13:04

标签: angular angular2-routing

如何在角度为2的路由器插座内从一个组件路由到另一个组件?

login.component.html

... login form ...
<a (click)="gotoSignup()">gotosignup</a>
<a routerlink="signup">singup</a>
<a routerlink="/signup">/singup</a>
<a routerlink="/signup/">singup</a>
<a routerlink="['signup']">[singup]</a>
<a routerlink="[/signup]">[/singup]</a>

login.component.ts

import { Component, OnInit } from '@angular/core';
import { Http, RequestOptions, Headers} from '@angular/http';
import { Router, ActivatedRoute } from '@angular/router';

export class LoginComponent implements OnInit {

    constructor(public router: Router) {}

    gotoSignup() {
      this.router.navigate(["signup"]);
    }

}

在上面的示例中,gotosignup正在使用路由器Link无法正常工作。

尝试使用<a [routerLink] ...不能正常工作。它会导致以下错误:

Unhandled Promise rejection: Template parse errors:
Can't bind to 'routerlink' since it isn't a known property of 'a'. ("
            <div class="well clearfix" style="font-size: larger;">
              <a [ERROR ->][routerlink]="['/signup']">

但是有类似的问题,但它们对我不起作用。似乎是指角度2的pre alpa版本,例如:

1 个答案:

答案 0 :(得分:6)

您需要将data.table添加到您使用imports: [RouterModule]的{​​{1}}

应该是@NgModule()而不是routerLink 指令选择器区分大小写(组件模板通常区分大小写)