2016-06-30 2 views
0
{{#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から関連する情報を見つけるのが難しかった。emberとember-modal-dialogパッケージを使用しています。私はモデルをcloseaction cancelAlarmEditに渡す方法があるのだろうかと思います。

答えて

0

私は、これは動作するはずかなり確信している:

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

実は{{action}}ヘルパーはジャバスクリプトbindにかなり似ています。

+0

ありがとうございます、あなたの方法は私のために働いた。私はこのテンプレートのコントローラをルートで定義していましたが、私はroute.jsとcontroller.jsを分割して、私の問題を解決するのにも役立つかもしれません。私は代わりにcancelAlarmEdit関数を定義し、私のためにそれを修正しました。 –

0

私は、このアドオンのソースコードでも、ドキュメントにもそのような機能は表示されません。あなたはのこのアドオンに基づいて、新しいコンポーネントを作成しようとする場合があります。

// 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属性を渡すことができるはずです。

拡張に成功しない場合は、独自のモーダルコンポーネントを作成するのは難しくありません。

関連する問題