我对角度很新,我有一个带按钮的模态组件,在(click)
上将模态的状态从隐藏更改为显示并显示。但是,我想在我的主要组件上包含这个模态,所以我可以创建一个按钮,在主要组件上显示模态组件。
这是我的 modalLink.ts:
import { Component,Input,trigger,state,style,transition,animate } from '@angular/core';
@Component({
templateUrl: 'modalLink.component.html',
styleUrls: ['modalLink.component.css'],
animations:[
trigger('Modal',[
state("show",style({'display':'flex', 'opacity':'1'})),
state("hide",style({'display':'none', 'opacity':'0'})),
transition("show <=> hide", animate( "200ms" ))
])
]
})
export class ModalLink {
private url:string = '';
private modal:string = 'hide';
private objectArea:any = []
private objectLevel:any = []
showModal(){
this.modal = 'show';
}
hideModal(){
this.modal = 'hide';
}
}
在我的 mainComponent.ts 上,这是我所拥有的摘录:
import { ModalLink } from './modalLink.component';
@Component({
templateUrl: 'academy.component.html',
styleUrls: ['academy.component.css']
})
export class AcademyComponent {
@ViewChild(ModalLink) modalLink: ModalLink
asdf() {
this.modalLink.showModal();
}
}
和我的 mainComponent.html ,其中包含调用调用showModal()的asdf函数的按钮:
<div class="container-organize resource-content">
<button (click)="asdf()" class="btn-floating btn-large btn-new-resource"><i class="ai ai-plus"></i></button>
答案 0 :(得分:2)
根据您的情况,您应该考虑利用Angular-Material
。
Angular Material已经为您实现了这一点,只需使用它:
import {MdDialog} from '@angular/material';
constructor(public dialog: MdDialog) {}
openDialog() {
this.dialog.open(DialogOverviewExampleDialog); // DialogOverviewExampleDialog is another component
}
这里很简单plunker