官方Ember Guide about actions强调,通过在动作助手中使用value
命名参数,可以将作为动作参数传递的对象解析。我的问题是这个场景只适用于第一个参数,但是对于动作的其余参数都失败了。
请参阅twiddle我准备说明此案例。在这个简单的旋转中,my-component
在按钮单击后触发一个动作,application
控制器处理动作。在application.hbs
中可以看到,我将行动声明为(action 'actionHandler' value='name')
;这意味着我希望将动作参数的名称字段发送到application.js
中的动作处理程序。但是从显示的警报中可以看出; value
参数适用于操作的第一个参数(john
按预期显示);但第二个参数失败(jack
未被检索为动作处理程序的第二个参数;但检索到整个对象。
我的问题是;有没有办法在第一个之后解构论证?如果可能,我可以改变要在参数中提取的属性,即第一个参数的name
,第二个参数的id
,依此类推。
答案 0 :(得分:2)
答案是否定的。就像你在旋转中看到的那样,你可以在第一个之后对论点进行解构。
当我想通过说value
从第一个参数event
中取value=target.value
时,我主要使用此功能。在这种情况下,destructure将仅用于第一个参数,同时我们可以发送许多不会被解构的参数。