从气泡动作(sendAction())更新为关闭动作

问题描述 投票:0回答:1

我正在尝试将代码更新为最新版本的余烬,并且希望避免过时。我已经读过使用闭包动作比气泡动作更可取。因此,我目前正在更新自己的代码,以使其更加可用。

下面是代码:

app / components / date-picker.js

actions: {
    onChange() {
      if (this.onChange) {
        this.sendAction('onChange');
      }
    }
  }

app / templates / components / date-picker.hbs

{{#if icon}}
  <i class="calendar icon"></i>
{{/if}}
{{input type='text' value=value placeholder=placeholder name=name focus-out=(action 'onChange')}}

任何人都可以向我描述如何更新它,以便我可以使用闭包操作。对此的其他引用将很有帮助。谢谢

javascript ember.js
1个回答
0
投票

您需要像这样将onChange操作传递给您的组件:

<DatePicker @onChange=(action "someAction") />

或使用大括号语法:

{{date-picker onChange=(action "someAction")}}

然后您就可以在组件中直接调用该动作:

actions: {
  onChange() {
    this.onChange && this.onChange();
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.