1
在余烬中,我们有行动助手;我会如何写一个sendAction助手?
{{action "actionName" arg1 arg2}}
但是,当我想送行动父组件,我还是要明确地写在调用sendAction孩子的动作。即使我只是冒泡行动。我希望避免使用send-action帮助器;
{{send-action "actionKey" arg1 arg2}}
有谁知道我该如何实现这个帮手?
在余烬中,我们有行动助手;我会如何写一个sendAction助手?
{{action "actionName" arg1 arg2}}
但是,当我想送行动父组件,我还是要明确地写在调用sendAction孩子的动作。即使我只是冒泡行动。我希望避免使用send-action帮助器;
{{send-action "actionKey" arg1 arg2}}
有谁知道我该如何实现这个帮手?
您应该使用关闭操作来代替,如Triggering Changes with Actions所示。
因此,如果您在名为actionKey
的父组件中执行了一项操作,请执行以下操作。
它传递到子组件的封闭动作:
{{my-component myName=(action 'actionKey')}}
,然后在子组件的模板:
<button {{action myName arg1 arg2}}>click me</button>
我用myName
用于说明目的,它可以是任何只要它与组件内使用的名称相匹配即可。
我已经在一个旋转复制上述:https://ember-twiddle.com/fd56b0b9d017968fc334b3f109760806。
我试图模仿你的模式,但我不断收到错误; '没有动作处理程序:'actionKey' –
等待,我的错误是其他地方,我认为这是正确的答案。解决方法是使用'myName'而不是''myName'' 因此,如果您不介意后续问题,我将如何在控制器(而不是模板)中实例化闭包动作,以便通过引用它周围。这可能吗? –
问路!把它传给谁?我上面展示的模板语法是将闭包动作传递给组件的方式。 – locks