0
私は、ユーザーが選択した支払い方法を変更できるセレクターを持っています。これは、親コンポーネントのSelectorの変更をリッスンし、適切な支払いメソッドコンポーネント(WireTransferPayment、CheckPayment、CreditCardPayment)を切り替えるようになっているが、今は動作しないPaymentComponentというコンポーネントを呼び出す。実際、PaymentComponentはセレクタが変更されたことを登録しません。私はまだAngular2を学んでいるので、私はまだ何か単純なものが欠けていることに気づきます。誰かが私を正しい方向に向けることができますか?私のgoogle fooは今、私に失敗しています。セレクタの変更に基づいてコンポーネントを切り替えるにはどうすればよいですか?
PARENT COMPONENT
@Component {
template: '
<select (change)="onPaymentTypeChange($event.target.value)" class="form-control" id="paymentType" required>
<option value="" disabled selected hidden>select payment type to begin</option>
<option value="pmtCreditCard">Credit Card</option>
<option value="pmtCheck">Check</option>
<option value="pmtWire">Wire Transfer</option>
</select>
<app-payment [paymentTypeSelector]="paymentType"></app-payment>
'
}
export class ParentComponent {
onPaymentTypeChange(selectorValue) {
console.log('paymentType ', this.paymentType);
console.log('selectorValue ', selectorValue);
this.paymentType = selectorValue;
}
}
CHILD COMPONENT
@Component {
inputs: [ 'paymentTypeSelector' ],
}
export class PaymentComponent implements OnInit {
paymentTypeSelector: string;
displayCheck = 'none';
displayWire = 'none';
constructor() {
console.log('paymentTypeSelected', this.paymentTypeSelector);
}
ngOnInit() {
console.log('here: ', this.paymentTypeSelector);
this.togglePaymentDisplay(this.paymentTypeSelector)
}
togglePaymentDisplay(paymentType) {
console.log('paymentTypeSelected', paymentType);
}
}
いくつかのコードを表示できますか?これまでに何を試しましたか? – rinukkusu
@リニュクスあなたが正しいです。ここで私が試したことの概要です。 –
このリンクを見て、https://angular.io/docs/ts/latest/cookbook/component-communication.htmlと@Input()と@Ouput()ディレクティブについて読む – rashfmnb