2016-10-22 134 views
1

我打開應用程序中的組件模式,而不是模板然後我需要將對象模型傳遞給模態組件,問題是打字稿給出錯誤的modalRef.componentInstance不存在作爲屬性,我完全複製示例形式演示頁,但再次給予同樣的錯誤,永遠不會填充模態內容類的@input變量,angular 2 ng-bootstrap modal

這是錯誤 無法設置的不確定

@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); 
} 
} 

和內部產權「模式」模態我宣佈這個varable得到傳入的值 @Input()型號:公司; 但它始終爲空

回答

1

對於您的第一個問題,componentInstance不存在,我會首先確保您正在使用1.0.0-alpha.9。當我使用1.0.0-alpha.8並升級解決該問題時,我收到了同樣的錯誤。

一旦你使用最新版本,你的第二個問題似乎是你沒有引用正確的@Input()變量。所以我會改變以下。

// Original 
... 
modalRef.componentInstance.name = 'some name'; 
... 

// Updated 
... 
modalRef.componentInstance.model = new Company(); 
... 

請注意,在更新的部分,而不是引用變量不存在它引用您的@Input()變量模式

+0

謝謝你升級到1.0.0-alpha.9並再次安裝節點包解決了問題 –