解构作为 Ember 动作参数传递的对象

Destructuring Objects Passed as Ember Action Arguments

官方Ember Guide about actions 强调在动作助手中使用value 命名参数可以解构作为动作参数传递的对象。我的问题是,这种情况仅适用于第一个参数,但对操作的其余参数无效。

请看twiddle我准备的案例说明。在这个简单的旋转中,my-component 在单击按钮后触发一个动作,然后 application 控制器处理该动作。从 application.hbs 中可以看出,我将操作声明为 (action 'actionHandler' value='name');这意味着我希望将动作参数的名称字段发送到 application.js 内的动作处理程序。然而,从显示的警报中可以看出; value 参数适用于操作的第一个参数(john 按预期显示);但第二个参数失败(jack 未作为操作处理程序的第二个参数检索;但检索了整个对象)。

我的问题是;有没有办法在第一个之后破坏论点?如果可能的话,我可以改变要在参数中提取的属性,即第一个参数的 name,第二个参数的 id 等等。

答案是 No.Like 你在旋转中显示,你不能在第一个参数之后解构参数。 当我想通过说 value=target.value 从第一个参数 event 中获取 value 时,我主要使用此功能。在此,解构将仅应用于第一个参数,同时我们可以发送许多不会被解构的参数。