角度传递事件数据未正确记录



所以我有最喜欢的"添加到收藏夹";功能。

我在favorite.component.ts中有下一个代码(仅用于发射事件的行)

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
@Input() isFavorite = false;
this.change.emit({ newValue: this.isFavorite });

我在app.component.html中有下一个代码:

<favorite [isFavorite]="post.isFavorite" (change)="favButtonChanged($event)"></favorite>

app.component.ts中的下一个:

favButtonChanged(eventArgs: { newValue: boolean }) {
console.log("Favorite changed", + eventArgs);
}

这个想法是,每当按钮改变(切换颜色和html)时,这个事件就会登录控制台";收藏夹已更改"+0/1(布尔值)。它记录:最喜欢的更改NaN。

问题出在哪里?

您编写了console.log("Favorite changed", + eventArgs);

有一个逗号,,所以您将两个参数传递给console.log,第二个参数是+ eventArgs,它试图将eventArgs转换为数字。

正如您所声明的,eventArgs显然不是一个数字(NaN表示不是数字),因此转换(从+符号)失败。

您可能需要删除该+

这里eventArgs是一个由于+而得到NaN的对象,您需要写eventArgs.newValue,它是布尔值&转换为1/0请尝试以下代码

console.log("Favorite changed ", +eventArgs.newValue)

相关内容

  • 没有找到相关文章

最新更新