ember.js 我正在使用ember和ember-modal-dialog包,有没有办法把一个模型传递到关闭动作cancelAlarmEdit中?

emeijp43  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(132)
{{#each alarms as |alarm|}}
  {{if alarm.isEditing}}
    {{#modal-dialog translucentOverlay=true close="cancelAlarmEdit"}}
      //this works down here
      <button type="btn btn-danger" {{action 'cancelAlarmEdit' alarm}}</button>
    {{/modal-dialog}}
  {{else}}
  {{/if}}
{{/each}

有没有办法把模型从上面的结束标记传递到cancelAlarmEdit中?我在https://github.com/yapplabs/ember-modal-dialog中找不到相关的信息。

kknvjkwl

kknvjkwl1#

我很确定这应该行得通:

{{#modal-dialog close=(action 'cancelAlarmEdit' alarm)}}

实际上,{{action}}助手与Javascript bind非常相似。

vybvopom

vybvopom2#

我没有看到这样的功能,无论是在文档中,还是在这个插件的源代码中。您可以尝试创建一个新的组件,基于这个插件的:

// app/components/modal-dialog.js
import ModalDialog from 'ember-modal-dialog/components/modal-dialog';

export default ModalDialog.extend({
  actions: {
    close() {
      this.sendAction('close', this.get('closeParam'));
    }
  }
});

在模板中,您应该能够传递closeParam属性。
如果扩展不成功,编写自己的模态组件也不是很难。

相关问题