javascript - 当我使用 eventEmitter 从我的子组件传递事件时,为什么我没有收到我的事件?
问题描述
我曾尝试使用 eventEmitter 来处理该事件,但不知何故,该事件没有通过。
这是我尝试使用 eventEmitter 传递对象的子组件
import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';
@Component({
selector: 'app-favorite',
templateUrl: './favorite.component.html',
styleUrls: ['./favorite.component.css']
})
export class FavoriteComponent implements OnInit {
@Input('isFavorite') isFavorite?: boolean
@Output() change = new EventEmitter();
constructor() { }
ngOnInit(): void {
}
onClick(){
this.isFavorite = !this.isFavorite
console.log(this.isFavorite)
this.change.emit({newValue: this.isFavorite});
}
}
这是我的子组件的模板:
<p>favorite works!</p>
<button (click)=onClick()>click</button>
这是我要将事件传递给的父组件:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'angular-ly';
post = {
title: "Title",
isFavorite:false
}
onFavoriteChange(isFavorite:any){
console.log("Favourite change",isFavorite);
console.log(isFavorite)
}
}
这是我的父组件的模板:
<app-favorite [isFavorite]="post.isFavorite" (change)="onFavoriteChange($event)"></app-favorite>
我尝试打印从子组件传递到控制台的事件,这就是我得到的:
true
app.component.ts:15 Favourite change undefined
app.component.ts:16 undefined
false
app.component.ts:15 Favourite change undefined
app.component.ts:16 undefined
true
app.component.ts:15 Favourite change undefined
app.component.ts:16 undefined
false
app.component.ts:15 Favourite change undefined
app.component.ts:16 undefined
解决方案
推荐阅读
- rssi - 如何获取已连接蓝牙设备的 rssi 值
- java - 在 spring boot restTemplate.exchange 上间歇性接收 StackOverflowError
- bazel - 为第三方依赖创建 Bazel distdir
- flutter - 如何将数据从 StatefulWidget 传递到 StatefulWidget,(错误)
- android - 如何知道 FragmentStateAdapter 的主要片段项
- php - Wordpress PHP 警告:遇到非数字值
- java - 多线程 Spring-boot 控制器方法
- javascript - 替换 CKEDITOR 中的文本
- javascript - 在 useState 挂钩上将先前状态与新状态合并的正确流程是什么?
- go - 无效操作:a > b(操作员 > 未在接口上定义)