5

我有以下文件:

.html

<nav>
  <md-toolbar color = "primary">
    <a [routerLink] = "['new-patient']">New Patient</a>

    <button md-icon-button
            color = "accent">
      <md-icon class = "material-icons md-24">person_add</md-icon>
    </button>
  </md-toolbar>
</nav>

.ts

import { Component, OnInit } from '@angular/core';
import { ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router';
import { MdToolbar } from '@angular2-material/toolbar';
import { MdIcon, MdIconRegistry } from '@angular2-material/icon';
import { MdButton } from '@angular2-material/button';

@Component({
  moduleId: module.id,
  selector: 'epimss-toolbar',
  templateUrl: 'toolbar.component.html',
  styleUrls: ['toolbar.component.css'],
  providers: [MdIconRegistry],
 directives: [MdButton, MdIcon, MdToolbar, ROUTER_DIRECTIVES],
})
export class ToolbarComponent implements OnInit {

  constructor() {}

  ngOnInit() {
  }
}

我的路由器实际上可以使用上面的代码。

但是,我正在尝试
<a [routerLink] = "['new-patient']">New Patient</a>

成为一个路由,当

<button md-icon-button
        color = "accent">
  <md-icon class = "material-icons md-24">person_add</md-icon>
</button>

被点击。

我尝试了以下方法,但它不起作用。

<button md-icon-button
        color = "accent"
        [routerLink] = "['new-patient']">
  <md-icon class = "material-icons md-24">person_add</md-icon>
</button>

感谢您提供的任何帮助,谢谢。

4

1 回答 1

4

您的问题是因为新路由器不接受[routerLink]元素<button>,只接受<a>标签。

但是你很幸运,Material 可以让你在上面做<a>图标<button>

md 按钮上的材料文档

所以试试这个:

<a md-icon-button
        [routerLink] = "['new-patient']"
        color = "accent">
  <md-icon class = "material-icons md-24">person_add</md-icon>
</a>
于 2016-05-28T04:27:48.370 回答