2016-06-30 4 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} 

Gibt es eine Möglichkeit, ein Modell in cancelAlarmEdit vom Close-Tag oben zu übergeben? Ich hatte Probleme, relevante Informationen davon von https://github.com/yapplabs/ember-modal-dialog zu finden.Ich benutze Ember mit Ember-Modal-Dialog-Paket. Ich frage mich, ob es eine Möglichkeit gibt, ein Modell in die Close-Aktion cancelAlarmEdit zu übergeben.

Antwort

0

Ich bin mir ziemlich sicher, dass dies funktionieren sollte:

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

Tatsächlich ist die {{action}} Helfer ziemlich ähnlich ist Javascripts bind.

+0

Danke, die Methode, die Sie beschrieben haben, funktionierte für mich. Ich hatte den Controller für diese Vorlage in der Route definiert, aber ich entschied mich, die route.js und controller.js zu teilen, die auch dazu beigetragen haben, das Problem für mich zu beheben. Ich habe stattdessen die Funktion cancelAlarmEdit definiert und die Dinge für mich repariert. –

0

Ich sehe solche Funktion weder in der Dokumentation, noch im Quellcode dieses Addons. Sie können versuchen, eine neue Komponente zu erstellen, auf der Grundlage dieses AddOn:

// 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')); 
    } 
    } 
}); 

In Vorlage sollten Sie in der Lage sein passieren closeParam Attribut.

Und wenn es Ihnen nicht gelingt, zu erweitern, ist es nicht so schwer, Ihre eigene modale Komponente zu schreiben.

Verwandte Themen