官方Ember Guide about actions强调,在操作助手中使用value
命名参数可以解构作为动作参数传递的对象。我的问题是,这种情况下,只适用于第一个参数,但失败的行动的其余参数。作为灰烬传递的解构对象动作参数
请参阅twiddle我已准备好说明情况。在这个简单的旋转中,my-component
触发按钮单击后的动作,并且application
控制器处理动作。从application.hbs
内可以看出,我宣布的行动为(action 'actionHandler' value='name')
;这意味着我希望将动作参数的名称字段发送到application.js
内的动作处理程序。但是从显示的警报中可以看出; value
参数正在为该操作的第一个参数(john
按预期显示)工作;但第二个参数失败(jack
不作为动作处理程序的第二个参数进行检索;但检索到整个对象)。
我的问题是;有没有办法在第一个之后解构参数?如果可以,我可以在参数中改变要提取的属性,即第一个参数的name
,第二个参数的id
等等。
我相信有人会拿出确切的源代码为什么我们不能? – kumkanillam
我从[源代码]找到了这个(https://github.com/emberjs/ember.js/blob/516e93c7745c59748fc237b791b18c908c4b14f7/packages/ember-glimmer/lib/helpers/action.js#L329)。它只处理第一个。 – ykaragol