在Ember中检查组件是否通过了一个动作,如果是,则使用它

时间:2015-09-04 10:02:19

标签: ember.js

假设我有一个名为advanced-input的组件,其中包含一个输入,例如:

{{input type="text" value=value class="{{class}}" key-down="keyDownAction"}}

在组件的js中,如果传递给组件,我想触发一个动作,如果不是,那么我想采取自己的行动:

actions: {
  keyDownAction: function() {
    if (checkForActionNamedMyAction) {
      this.sendAction('MyAction');
    }
    else {
      // Provide some default code
    }
  }
}

所以,如果我要指定

{{advanced-input MyAction="SendAlertToUser"}}

它将进入if,但如果我有

{{advanced-input}}
那么它会进入其他地方吗?我需要检查什么?

1 个答案:

答案 0 :(得分:1)

实际上答案很简单

if (this.get('MyAction') {
  this.sendAction('MyAction');
}
else {
  // Provide some default code
}

工作得很好。