如何将回调函数传递给子组件?

讽刺的

我正在编写Angular 9应用,并且我有这个共享组件来产生选择菜单...

export class SharedMenuComponent implements OnInit {

  items: Item[] = [];
  // Represents what is selected by default
  @Input('default_selected') default_selected: number;
  @Input('value_change_callback') valueChangeCallback: any;

  constructor(
    private route: ActivatedRoute,
    private apiService: ApiService
  ) {}

  ngOnInit(): void {
    this.items = this.route.snapshot.data.items;
  }

}

HTML看起来像

<select id="item" (change)="valueChangeCallback">
    <option *ngFor="let item of items"
        [selected]="item.id === default_selected">{{item.path}}</option>
</select>

我注意到有人从菜单中选择其他项目时未调用“ onChange”回调。在父组件中,我这样称呼子组件

<form id="statForm" method="get">
    <app-item-menu [default_selected]="itemId"
                        [value_change_callback]="onNavigate"></app-item-menu>
</form>

我在父组件中定义此函数

  onNavigate(event): void {
    console.log("called on change ...");
  }

console.log永远不会被打印,并且该函数似乎根本就没有被调用。我还需要做些什么来调用我的回调?

拉兹·罗嫩(Raz Ronen)

就像提到的@MikeOne一样,您需要实际调用回调:

(change)="valueChangeCallback($event)"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React.js如何将回调传递给子组件?

如何将回调函数传递给父级

如何将回调函数传递给返回多行的aggregate()?

Angular将回调函数作为@Input传递给子组件,类似于AngularJS的方式

将回调函数从父组件传递到子组件react

将回调函数传递给渲染的React组件

使用Context.actorOf时如何将回调函数传递给akka actor构造函数?

如何将回调作为参数传递给另一个函数

如何将回调函数从C ++传递给Objective-C

Scala-如何将回调传递给方法

如何将回调传递给孩子而不触发它

如何将回调函数从Java传递到Kotlin类

将回调函数传递给指令

如何将回调从一个子组件传递到另一个

如何将回调传递给传递给“ vo”库的生成器?

如何将回调作为变量传递给预定义的回调

将回调对象从父组件传递到子组件angular

将回调/承诺从组件传递给动作创建者

将回调函数传递给猫鼬聚合函数

我如何将回调结果传递给变量并自由访问var

在决定如何将回调传递给addEventListener时应该考虑什么?

如何将回调传递给 EM_ASM for C++?

如何将函数从父组件传递给类型为 assingable 的子组件

如何将回调函数作为构造函数参数传递并分配给类属性

在 C++/CLI 中将回调函数传递给线程

将回调函数作为道具传递给孩子

将回调传递给 javascript 中的其他函数

将回调函数传递给聚合物元素

在TypeScript的Highchart图例中将回调函数传递给labelFormatter