Chcę przekazać wartość danych wejściowych do komponentu nadrzędnego. Obecnie wysyłam cały plik wejściowy ElementRef
z mojego komponentu potomnego. Czy istnieje elegancki sposób na robienie tego? Mam na myśli, że muszę wysłać tylko jeden numer, a nie cały odnośnik.Jak przekazać wartość wejściową do komponentu nadrzędnego
Komponent dziecka:
import { Component, ViewChild } from '@angular/core';
@Component({
selector: 'app-action-dialog-content',
template: `
<md-input-container>
<input #amount md-input placeholder="Amount">
<span md-suffix>€</span>
</md-input-container>
`
})
export class ActionDialogContentComponent {
@ViewChild('amount') amount;
}
nadrzędna Składnik:
import { Component, ViewChild } from '@angular/core';
import { ActionDialogContentComponent } from './../action-dialog-content/action-dialog-content.component';
@Component({
selector: 'app-action-dialog',
template: `
<app-action-dialog-content></app-action-dialog-content>
<md-dialog-actions>
<button md-raised-button (click)="sendData()">ADD</button>
</md-dialog-actions>
`
})
export class ActionDialogComponent {
@ViewChild(ActionDialogContentComponent) amountInput: ActionDialogContentComponent;
sendData() {
console.log(this.amountInput.amount.nativeElement.value);
}
}
można użyć 'EventEmitter' dla bardziej szczegółowo sprawdzić https://angular.io/docs/ts/latest/cookbook /component-communication.html#!#child-to-parent – rashfmnb