我尝试在按钮单击时显示模式。模态位于专用组件中。
模态位于一个名为NgbdModalContent的组件内,而该模态是通过单击另一个组件内的方法在单击按钮时激活的。
这是NgbdModalContent:
@Component({
selector: 'ngbd-modal-content',
template: `
<div class="modal-header">
<h4 class="modal-title">Hi there!</h4>
<button type="button" class="close" aria-label="Close"
(click)="activeModal.dismiss('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>"Some text"</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark"
(click)="activeModal.close('Close click')">Close</button>
</div>
`
})
export class NgbdModalContent {
constructor(public activeModal: NgbActiveModal) {}
}
这是其他组件内部的方法:
async onCreateClicked() {
var modalService=new NgbModal;
const modalRef = modalService.open(NgbdModalContent);
return;
}
现在,它将不会编译,因为新的NgbModal需要一些参数,而且我不知道要在其中放置什么,并且我无法将NgbModal用作此组件的构造函数参数,因为它已经具有另一个构造函数。
答案 0 :(得分:0)
您已添加如下代码
constructor(public activeModal: NgbActiveModal) {}
当您创建类似
的对象时var modalService=new NgbModal;
-它将始终要求传递参数。因此,如果以上参数未使用-删除该参数。而不是使用new创建Object,而是使用构造函数。