我正在使用 ngx-bootstrap 模式作为删除模式。要使其正常工作,您将需要使用 @Input 和 @Output 将再融资传递给和从父级传递。下面的示例可以轻松修改以满足您的需求。如果您需要将值从子级传递给父级,您可以在事件发射器中通过将类型更改为类似的类型EventEmitter< any >
并在模板上将其更改为(deleteEvent)="delete($event)"
发射时传递您要发送的值事件this.deleteEvent.emit(true);
。
我的删除模态ts
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { BsModalRef } from "ngx-bootstrap";
@Component({
selector: 'delete-modal',
templateUrl: './delete.modal.component.html'})
export class DeleteModalComponent {
@Input() modalRef: BsModalRef;
@Output() deleteEvent = new EventEmitter();
constructor() { }
delete(): void {
this.deleteEvent.emit();
}
}
我的删除模态 HTML
<div class="modal-header">
<h3 class="modal-title pull-left">Confirm Delete</h3>
</div>
<div class="modal-body">
<p>Do you really want to delete item?</p>
<div class="pull-right">
<a class="btn btn-primary" role="button" (click)="delete()">Ok</a>
<a class="btn btn-default" role="button" (click)="modalRef.hide()">Cancel</a>
</div>
<div class="clearfix"></div>
</div>
在我要显示对话框的组件上
/*add a template somewhere*/
<ng-template #delete>
<delete-modal [modalRef]="modalRef" (deleteEvent)="delete()"></delete-modal>
</ng-template>