/ / Uhlové vyžarovanie @Output funguje iba prvýkrát - uhlové, eventemitter, uhlové komponenty

Funkcia uhlového výstupu @Output funguje iba po prvýkrát - uhlové, rovnomerné, uhlové komponenty

No ... mám to na detskej komponente:

this.event.emit(true);
this.calendarProviderService.addEvent(newEvent).subscribe(
finished => {
if (finished == true) {
console.log (finished);
this.event.emit(false);
}
}
)

Skontrolujte, či emisia „True“ funguje dobre. Na mojom nadradenom komponente mám:

  <add-event *ngIf="currentActionArea == "addevent"" (event)="addNewEvent($event)"></add-event>

addNewEvent(event){
console.log("Emit recibido: " + event);
if(event == true){
this.loaderMessage = "Guardando Evento...";
this.loadingEvents = true;
} else {
this.switchButtonModel = "0";
this.currentActionArea = null;
this.getEvents();
}
}

Keď je však predplatné dokončené, „nepravdivé“ ho vydá, aby nefungovalo.

Môžeš mi pomôcť?

odpovede:

1 pre odpoveď č. 1

Problém bol v tom, že na nastavenie hodnoty žiariča používam službu. Toto nie je najlepšia prax. Vyriešil som to pomocou predmetu:

import { Subject } from "rxjs/Subject";

@Injectable()
export class CalendarProviderService {

/**
* To emit getActivityWork between two components
*/
private _activityWorkSubject = new Subject<calendarActivityWork>();
public getActivityWork = this._activityWorkSubject.asObservable();

constructor() { }

/**
* To set the activity work value
* @param calendarActivity the activity to show
*/
doActivityWork(calendarActivity : calendarActivityWork){
return this._activityWorkSubject.next(calendarActivity);
}
.
.
.

Dúfam, že to môže pomôcť každému.