0

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?

2 Answers 2

1

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 +.

Sign up to request clarification or add additional context in comments.

Comments

0

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)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.