Snažím sa odovzdať výstup z dieťaťa jeho rodičovi, nie ste si istí, prečo to práve vyhralo,
dieťa:
natierač:
@Component({
selector: "child",
templateUrl: "./child.component.html",
styleUrls: ["./child.component.css"]
})
@Output() notify: EventEmitter<string> = new EventEmitter<string>();
onClick(){
this.notify.emit("msg from child component");
}
dovoz:
import { Component, OnInit, EventEmitter, Output } from "@angular/core";
šablóna:
<button (click)="onClick()"> search </button>
parent:
onNotifyClicked(message: string): void {
this.showMsg = message;
}
šablóna:
<child (notify)="onNotifyClicked($event)"> </child>
Dostanem sa do stavu, v ktorom sa vysiela upozornenie (this.notify.emit ("msg from search komponent"); behy, pri vysielaní nebola vyvolaná žiadna chyba) ale nikdy sa nedostanem do rodičovskej obsluhy naNotifyClicked (),
odpovede:
0 pre odpoveď č. 1Zmeňte premennú ako,
@Output()
notify = new EventEmitter<string>();
0 pre odpoveď č. 2
Váš kód by mal fungovať, pokiaľ nie je váš rodičpočúvanie nie v detskej súčasti priamo (ako vo vašom príspevku), ale u jedného z jej rodičov. Uhlové nepodporuje bublinu udalostí, takže ak má nadradená súčasť niečo ako ukážka kódu nižšie, nedostane správu:
<div (notify)="onNotifyClicked($event)">
<child></child>
</div>
0 pre odpoveď č. 3
Moje kroky boli správne, musel som reštartovať zariadenie, ktokoľvek sa sem dostane - nestrácajte čas čítaním tohto prípadu použitia.