我在使用ng-content从父级传递参数时遇到了一些问题。
我有一个模态组件
@Component({
selector: 'app-modal',
templateUrl: './modal.component.html',
})
export class ModalComponent {
@ViewChild('childModal') public childModal: ModalDirective;
constructor() {}
show() {
this.childModal.show();
}
hide() {
this.childModal.hide();
}
}
// html
<div bsModal #childModal="bs-modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog modal-info">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title pull-left">Modal</h4>
<button type="button" class="close pull-right" aria-label="Close" (click)="hide()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<ng-content select=".modal-body"> </ng-content>
</div>
<div class="modal-footer">
<div class="pull-left">
<button class="btn btn-default" (click)="hide()"> Cancel </button>
</div>
</div>
</div>
</div>
</div>
在html的主要组件中:
<div *ngFor="let item of items">
//some data
<button (click)="myModal.show();">Show Modal</button>
</div>
<app-modal #myModal>
<div class="modal-body"></div>
</app-modal>
它工作正常。当我需要模态数据时,我只需将其传递给show method:
<button (click)="myModal.show(item);">Show Modal</button>
但我需要在我的模态中包含另一个组件:
<app-modal #myModal>
<div class="modal-body"><another-app-component></another-app-component></div>
</app-modal>
我不知道如何通过&#39; item&#39;数据到另一个应用程序组件
例如ngFor生成5个项目,每个项目都有自己的数据。当我点击第一个&#39; Show Modal&#39;我需要将第一个项目的数据发送到另一个应用程序组件