【发布时间】:2018-10-29 15:44:00
【问题描述】:
我创建模态模态组件并在 modal.component.html 文件中编写我的模态代码。我想在 header 组件的 header.component.html 文件中使用此模式。
我的 header.component.html 的相关部分如下:
<div style="text-align: center">
<a class="social-account-profile icon-plus"
(click)="onButtonClick()"</a>
</div>
onButtonClick 是我的 header.component.ts 中的一个方法,如下所示:
export class HeaderComponent implements OnInit {
constructor(public router: Router, public authService: AuthService,
public appGlobal: AppGlobals, public modal: ModalComponent) {
}
ngOnInit() {
}
onButtonClick() {
this.modal.openModal();
}
}
openModal 在我的 modal.component.ts 文件中的方法如下:
export class ModalComponent implements OnInit {
@ViewChild('projctModal') projctModal: any;
openModal() {
this.projctModal.show();
}
constructor(private formvalidation: FormValidation) {
}
ngOnInit() {
}
}
我的 modal.component.html 文件如下:
<div mdbModal #projctModal="mdbModal" class="modal fade top " id="projctModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel"
aria-hidden="true">
</div>
当我运行代码时,我的 chrome 控制台中出现此错误:
ERROR TypeError: Cannot read property 'show' of undefined
我该如何解决这个问题?
【问题讨论】:
-
看起来你是在直接注入你的组件。您是否正在尝试从头开始构建模态?如果是这样,那么您缺少一些关键项目,或者您没有在此处显示它们。
-
不,我使用 mdbootstrap modal 。如果我直接在组件的 html 文件中使用模态,我想使用它,但我想指定我所有模态代码的特定组件,并在需要时从其他 html 组件调用它们中的每一个
标签: angular