Как использовать панель инструментов material2, кнопку и angular-cli router
У меня есть следующие файлы:
.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>
Ценю любую помощь, оказанную, пожалуйста, и спасибо.
1 ответ
Решение
Ваша проблема в том, что новый маршрутизатор не принимает [routerLink]
на <button>
элементы, только <a>
теги.
Но вам повезло, материал позволяет сделать значок на <a>
а также <button>
Материал Документов на MD-кнопку
Так что попробуйте это:
<a md-icon-button
[routerLink] = "['new-patient']"
color = "accent">
<md-icon class = "material-icons md-24">person_add</md-icon>
</a>