So I have the component favorite for the "add to favorites" functionality.
I have the next code in favorite.component.ts (only lines for emitting event)
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
@Input() isFavorite = false;
this.change.emit({ newValue: this.isFavorite });
I have the next code in app.component.html:
<favorite [isFavorite]="post.isFavorite" (change)="favButtonChanged($event)"></favorite>
And the next one in app.component.ts:
favButtonChanged(eventArgs: { newValue: boolean }) {
console.log("Favorite changed", eventArgs);
}
The idea is that everytime the button changes (toggles color and html), this event to log in the console "Favorite changed" 0/1 (a boolean value). It logs: Favorite changed NaN.
Where is the problem?
CodePudding user response:
You wrote console.log("Favorite changed", eventArgs);
There's a comma , so you're passing two parameters to console.log and the second parameter is eventArgs which tries to convert eventArgs into a number.
As you declared, eventArgs is clearly not a number (NaN means Not a Number) so the conversion (from the sign) fails.
You might want to remove that .
CodePudding user response:
here eventArgs is an object which will get NaN due to you need write eventArgs.newValue which is boolean value & get converted into 1/0
Please try the below code
console.log("Favorite changed ", eventArgs.newValue)
