我已经看到了与我的问题完全相似的问题,即使我的应用程序在此stackblitz中也能正常工作,但是在我的本地项目中,该项目包含我的组件和模块,并影响了我的生命,我不知道为什么。
背景:
我决定添加Google登录,这可以在项目的两个部分进行。由于在领域和其他方面应用了某种逻辑,因此我决定使用简单的“使用Google按钮打开”来创建一个单独的子组件。
我正在从Google成功获取数据,但是无法发回父组件。摆脱Google概念,您甚至无法在闪电战中看到正常值。
子组件不向父组件发出输出的原因可能是什么?我在Angular 7中很重要。我的代码是:
google.component.ts
import { Component, OnInit, Output, EventEmitter } from "@angular/core";
@Component({
selector: "app-google-login",
template: `<button type="button" (click)="process()">
Act
</button>`
})
export class GoogleLoginComponent implements OnInit {
@Output() userDetails = new EventEmitter<any>();
constructor() {}
process(): void {
/*
emit data here
*/
this.userDetails.emit('Done')
}
ngOnInit() {}
}
App.component.html
<app-google-login
(userDetails)="emittedGoogleUserInformation($event)"
></app-google-login>
app.component.ts
emittedGoogleUserInformation(info){
console.log('google data from child component ', info);
}
答案 0 :(得分:0)
你可以试试这个:
@Output() userDetails: EventEmitter<any> = new EventEmitter<any>();