3

テンプレートの代わりにコンポーネントを使用してアプリでモーダルを開き、オブジェクト モデルをモーダル コンポーネントに渡す必要があります。問題は、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です

4

1 に答える 1