テンプレートの代わりにコンポーネントを使用してアプリでモーダルを開き、オブジェクト モデルをモーダル コンポーネントに渡す必要があります。問題は、typescript で modalRef.componentInstance がプロパティとして存在しないというエラーが発生することです。サンプル フォームのデモ ページを正確にコピーしますが、再び同じエラーが発生し、モーダル コンテンツ クラスに入力された @input 変数を取得できません。
これはエラーです未定義のプロパティ「モデル」を設定できません
@Component({
selector: 'company-list',
templateUrl: './app/components/company/company-list.component.html'
})
export class CompanyListComponent implements {
private modalRes: Company;
constructor(private modalService: NgbModal) {
}
open(company: Company) {
const modalRef = this.modalService.open(CompanyAddComponent);
modalRef.componentInstance.name = 'some name'; //** this line gives error
modalRef.result.then((result) => {
}, (reason) => {
});
}
createCompany(model: Company) {
this.companyService.createCompany(model);
}
}
モーダル内で、この変数を宣言して、渡された値 @Input() モデルを取得します。しかし、それは常にnullです