首页 文章

子组件不向父组件的功能发送值

提问于
浏览
2

我在我的父组件中定义了一个名为 login 的函数:

login(user: any) {
  console.log(user);
}

然后我有一个登录表单组件:

export class LoginFormComponent {
  @Output() onLogin: EventEmitter = new EventEmitter();

  constructor() {
    this.user = {};
  }
}

我用的是这样的:

<login-form (onLogin)="login(user)"></login-form>

看起来像这样:

<input type="email" [(ngModel)]="user.email">
<input type="password" [(ngModel)]="user.password">

在这个组件里面,我有一个简单的按钮,它应该执行 onLogin 函数并将用户从 login-form 组件传递给外部组件:

<button (click)="onLogin.emit(user)">Login</button>

问题是在 login 函数中始终未定义 user .

为什么不将 userlogin-form 发送到我的父组件?

1 回答

  • 2

    需要使用特殊标识符 $event 来获取传递的值:

    <login-form (onLogin)="login($event)"></login-form>
    

    user 指的是组件类的 user 属性 .

相关问题