2个按钮,相同的动作,我怎么知道哪个按钮触发了Ember中的动作

ffscu2ro  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(102)

我有一个简单的按钮,有一个行动。

<button {{action "slide" target="view"}} class="slide up">Slide up</button>

两杯,

<button {{action "slide" target="view"}} class="slide left">Slide down</button>

这两个都有相同的操作,由包含视图处理,类似于这样:

App.ViewName = Ember.View.extend({
   actions:{
      slide: function(){
            console.log("which button triggered the slide action?");
       }
   }

});

在上面的代码中,我的控制台日志说明了我的困惑。我不知道我如何识别哪个按钮{向上滑动或向下滑动}触发了滑动动作。
我的意思是,这是jQuery中基本的简单的东西,你可以简单地使用“事件”来确定调用按钮。但在Ember,所有这些概念似乎都抛弃了我。

yk9xbfzb

yk9xbfzb1#

老实说,我会让它成为两个不同的动作,但你可以给动作发送一个值,

{{action slide "up"}}

slide: function(type){
  console.log(type);
}
tzxcd3kk

tzxcd3kk2#

这也许能帮到某人
<Button @clicked={{fn (action "doAct" true)}} @label="Slide Up"/>
<Button @clicked={{fn (action "doAct" false)}} @label="Slide Down"/>
doAct(isSlideUp){ console.log(isSlideUp) }
你可以用这种方式传递param。

相关问题