Спасибо @Suraj. Оно работает.

ользую Ionic 2, в котором компонент имеет два компонента, и данные были переданы с использованием излучателей. Но когда я запускаю программу, возникает эта ошибка.

Ошибка времени выполнения Uncaught (в обещании): TypeError: Невозможно прочитать свойство 'BillNo' с неопределенным TypeError: Невозможно прочитать свойство 'BillNo' с неопределенным в Object.eval [как updateDirectives]

Вот мой код:

Счет-settlement.html

...
<page-bill-list (BillSelected)="onBillSelected($event)"></page-bill-list>
...
<page-bill-details [billItem]="billItem"></page-bill-details>
...

вексельные-settlement.ts

@Component({
  selector: 'page-bill-settlement',
  templateUrl: 'bill-settlement.html',
})
export class BillSettlement {
  ...
  billItem: BillDetail
  ...
  onBillSelected(billData: BillDetail) {
    this.billItem = billData
  }
}

Счет-list.html

<ion-buttons>
  <button ion-button *ngFor="let item of billItems" (click)="getBillDetails(item)">
      {{item.BillNo}}
  </button>
</ion-buttons>

вексельные-list.ts

@Component({
  selector: 'page-bill-list',
  templateUrl: 'bill-list.html',
})
export class BillList {
  billItems: BillDetail[] = []
  billItem = new BillDetail()
  @Output() BillSelected = new EventEmitter<BillDetail>()
  constructor(public navCtrl: NavController,
    public navParams: NavParams,
    public billSrv: BillerService,
    public authSrv: AuthService,
    public genSrv: GenericService) {
    this.billSrv.getBills()
      .subscribe(data => {
        this.billItems = data
      })
  }
  getBillDetails(item: BillDetail) {
    this.BillSelected.emit(this.billItem)
  }
}

вексельные-details.ts

@Component({
  selector: 'page-bill-details',
  templateUrl: 'bill-details.html',
})
export class BillDetails {
    ...
    @Input() billItem: BillDetail
    ...
}

Счет-details.html

...
<ion-input text-right type="text" [value]="billItem.BillNo" readonly></ion-input> //billItem model has BillNo property
...

Проблема вbillItem.BillNo вbill-details.ts изначально не имеет значения, он определяется только когда я нажимаю кнопку номера счета вbill-list.html, Как я могу определить billItem первоначально, а затем заменить при нажатии на кнопку номера счета.

Ответы на вопрос(1)

Ваш ответ на вопрос