Я некоторое время искал в google, stackoverflow, но ничего, Angular2, похоже, сделан своими руками, а не закончен. Итак, у меня есть login.component.ts, который содержит модальный шаблон материализации:
import { Directive, Component, Input, Output, OnInit, OnDestroy, EventEmitter } from '@angular/core';
import { MaterializeModule,MaterializeAction } from 'angular2-materialize';
declare var $: any
@Component({
selector: "dialogs",
template: '
<!-- Modal Structure -->
<div id="modal1" class="modal bottom-sheet" materialize="modal" [materializeParams]="[{dismissible: false}]" [materializeActions]="modalActions">
<div class="modal-content">Modal Content</div>
<div class="modal-footer">
<a class="waves-effect waves-green btn-flat" (click)="closeModal()">Close</a>
</div>
</div>
'
})
export class Dialogs implements OnInit {
@Output() modalActions = new EventEmitter<string|MaterializeAction>();
constructor() {
}
ngOnInit() {
}
openModal() {
this.modalActions.emit({action:"modal",params:['open']});
}
closeModal() {
this.modalActions.emit({action:"modal",params:['close']});
}
}
И мой header.component.ts
import {Component, OnInit, OnDestroy} from "@angular/core"
import { LoginComponent } from '../login/login.component';
import { Dialogs } from '../login/login.component';
@Component({
selector: 'headerCustom',
styleUrls: ['./header.component.css'],
template:
`
<nav class="navbar-material light-blue lighten-1" role="navigation">
<div class="nav-wrapper">
<a href="#!" class="brand-logo">
<img src="./images/logo.png" />
</a>
<a materialize="sideNav" href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a href="#">Subscribe</a></li>
<li>
<a class="waves-effect waves-light btn modal-trigger" (modalActions)="openModal()">Open Modal Login</a>
</li>
</ul>
<ul class="side-nav" id="mobile-demo">
<li><a href="#">Subscribe</a></li>
<li>
<a class="waves-effect waves-light btn modal-trigger" (modalActions)="openModal()">Open Modal Login</a>
</li>
</ul>
</div>
</nav>`
})
export class HeaderComponent implements OnInit, OnDestroy {
}
Мне нужны простые действия, когда я нажимаю на заголовок кнопки, это открывает модальное окно? Почему я не могу вызвать функцию входа в систему?
Я пробовал много кода, например:
<a class="waves-effect waves-light btn modal-trigger" (click)="modalActions.openModal()">Open Modal Login</a>
Но ничего.
Спасибо за вашу помощь