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

ffscu2ro  于 2023-10-18  发布在  其他
关注(0)|答案(2)|浏览(163)

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

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

两杯,

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

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

  1. App.ViewName = Ember.View.extend({
  2. actions:{
  3. slide: function(){
  4. console.log("which button triggered the slide action?");
  5. }
  6. }
  7. });

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

yk9xbfzb

yk9xbfzb1#

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

  1. {{action slide "up"}}
  2. slide: function(type){
  3. console.log(type);
  4. }
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。

相关问题