为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError: ctx.onCreditChange 不是函数角度

TypeError: ctx.onCreditChange 不是函数角度

月关宝盒 2023-03-24 15:44:14
我有两个组成部分。组件 A 是父组件,组件 B 是子组件。组件 A 如下所示:一个.html    <nb-box [onCreditChange]="onCreditChange"></nb-box>A.tsonCreditChange($event) { console.log($event) }组件 A 的功能转移到 B。组件 B 看起来像这样B.html<div class="box"> <nb-switch  (onChange)="onCreditChange($event)"></nb-switch></div>B.ts(该组件的一部分)import { Component, Input, NgModule, EventEmitter, Output} from '@angular/core';export class Box extends BoxBase {  @Output() onCreditChange: EventEmitter<any> = new EventEmitter()}调用函数时出现错误core.js:6241 ERROR TypeError: ctx.onChange is not a function你知道怎么修吗?
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

父组件


HTML


<nb-box (onCreditChange)="onCreditChange"></nb-box>

TS


onCreditChange($event) { console.log($event) }

子组件


错误从这里开始,因为 Output 不是一个函数,它是一个允许您将事件发送给父级的对象。您需要在子函数内部执行一个函数,并使用输出对象发出。


HTML


<div class="box">

 <nb-switch  (onChange)="onChangeInChild($event)"></nb-switch>


</div>

TS


import { Component, Input, NgModule, EventEmitter, Output} from '@angular/core';


export class Box extends BoxBase {

  @Output() onCreditChange = new EventEmitter<any>()


  onChangeInChild(eventObject: any){

      this.onCreditChange.emit(eventObject)

  }

}



查看完整回答
反对 回复 2023-03-24
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信