子组件不向父组件发出输出

时间:2019-05-24 19:19:33

标签: angular

我已经看到了与我的问题完全相似的问题,即使我的应用程序在此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);
}

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

@Output() userDetails: EventEmitter<any> = new EventEmitter<any>();