【问题标题】:Linking from one component to another within an router-outlet in angular 2?在角度 2 的路由器插座中从一个组件链接到另一个组件?
【发布时间】:2017-04-20 03:59:21
【问题描述】:

如何在角度 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 正在工作,因为路由器链接不工作。

尝试使用&lt;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']">

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

【问题讨论】:

    标签: angular angular2-routing


    【解决方案1】:

    您需要将imports: [RouterModule] 添加到您正在使用routerLink@NgModule()

    应该是routerLink 而不是routerlink
    指令选择器区分大小写(组件模板一般区分大小写)

    【讨论】:

    • RouterModule 被添加到模块中。它在旁边的路由器出口外的 MenuComponent 内工作,但不在路由器出口内呈现的组件内工作。现在一切都在 app.module.ts 中。
    • 应该是routerLink 而不是routerlink
    猜你喜欢
    • 2018-10-18
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2019-11-14
    • 2017-12-05
    • 2018-12-12
    相关资源
    最近更新 更多