解构作为 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
时,我主要使用此功能。在此,解构将仅应用于第一个参数,同时我们可以发送许多不会被解构的参数。
官方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
时,我主要使用此功能。在此,解构将仅应用于第一个参数,同时我们可以发送许多不会被解构的参数。