Ember.js 将闭包操作传递给嵌套组件的正确语法

Ember.js correct syntax for passing closure actions to nested components

当通过一些嵌套组件向下传递闭包动作时,使用动作助手向下传递动作(第一张图片)和简单地将动作作为 属性 向下传递(第二张图片)之间有区别吗)?

TLDR;没有。

前者是 closure actions in Ember. However, the latter works just as well in Ember 2.10 or later and is compatible with the future simplified Glimmer component proposal 的原始实现和文档化实现。

使用后一种语法有一些陷阱,但是,您可能会不小心覆盖一些重要的组件方法,例如 destroy().

有关更多背景信息,请参阅 Actions best practices

您可能还对 Events deep dive 感兴趣,它将解释 Ember 中处理事件的各种方式之间的所有差异。

这个答案是在 Ember 3.1 时写的,应该适用于版本 2.10 - 3.x。