我对角很陌生,我有一个带有按钮的模态组件,在(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>发布于 2017-04-07 02:01:43
对于您的情况,您应该考虑利用Angular-Material。角质材料已经为你实现了这一点,就这样使用它:
import {MdDialog} from '@angular/material';
constructor(public dialog: MdDialog) {}
openDialog() {
this.dialog.open(DialogOverviewExampleDialog); // DialogOverviewExampleDialog is another component
}下面是简单的柱塞
https://stackoverflow.com/questions/43268217
复制相似问题