ngx-bootstrap 模态无法读取未定义的 属性 'show'
ngx-bootstrap modal cannot read property 'show' of undefined
我正在尝试在我的 angular 应用程序中实施 ngx-bootstrap 模式。但它给了我一个错误,说 Cannot read 属性 'show' of undefined.
模态 HTML
`
<div *ngIf="isActive" bsModal #createOrEditAuthorModal="bs-modal"
class="modal fade" tabindex="-1" role="dialog"
aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
............
</div>
</div>
</div>
`
模态 Ts
`
export class CreateOrEditAuthorModalComponent extends
AppComponentBase {
@ViewChild('createOrEditAuthorModal') public modal:
ModalDirective
isActive = false;
constructor(
injector: Injector
) {
super(injector);
this.author = new UpdateAuthorInput();
}
show(): void {
this.modal.show();
this.isActive = true;
}
close(): void {
this.modal.hide();
this.isActive = false;
}
}
`
Parent 组件 HTML
`
<app-create-or-edit-author-modal #createOrEditAuthor></app-create-
or-edit-author-modal>
`
Parent 组件 Ts
`
export class AuthorsComponent extends AppComponentBase implements
AfterContentInit {
@ViewChild('createOrEditAuthor') createOrEditAuthor:
CreateOrEditAuthorModalComponent
constructor(
injector: Injector
) {
super(injector);
}
ngAfterContentInit(): void {
}
createNewAuthor(): void {
this.createOrEditAuthor.show();
}
}
`
虽然一切正常,但不知道问题出在哪里。它昨天工作,但今天出错。请任何 body 帮助....
删除 *ngIf="isActive"
解决了问题
我正在尝试在我的 angular 应用程序中实施 ngx-bootstrap 模式。但它给了我一个错误,说 Cannot read 属性 'show' of undefined.
模态 HTML
`
<div *ngIf="isActive" bsModal #createOrEditAuthorModal="bs-modal"
class="modal fade" tabindex="-1" role="dialog"
aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
............
</div>
</div>
</div>
`
模态 Ts
`
export class CreateOrEditAuthorModalComponent extends
AppComponentBase {
@ViewChild('createOrEditAuthorModal') public modal:
ModalDirective
isActive = false;
constructor(
injector: Injector
) {
super(injector);
this.author = new UpdateAuthorInput();
}
show(): void {
this.modal.show();
this.isActive = true;
}
close(): void {
this.modal.hide();
this.isActive = false;
}
}
`
Parent 组件 HTML
`
<app-create-or-edit-author-modal #createOrEditAuthor></app-create-
or-edit-author-modal>
`
Parent 组件 Ts
`
export class AuthorsComponent extends AppComponentBase implements
AfterContentInit {
@ViewChild('createOrEditAuthor') createOrEditAuthor:
CreateOrEditAuthorModalComponent
constructor(
injector: Injector
) {
super(injector);
}
ngAfterContentInit(): void {
}
createNewAuthor(): void {
this.createOrEditAuthor.show();
}
}
`
虽然一切正常,但不知道问题出在哪里。它昨天工作,但今天出错。请任何 body 帮助....
删除 *ngIf="isActive"
解决了问题