Ich mag Ihre Meinung zu diesem Muster. Ich wollte in der Lage sein, Fokus-Funktion auf eine Komponente von meinem Controller, die Art, wie ich es implementiert war eine Referenz auf sich selbst durch eine Aktion auf dem Controller definiert dann rufen Sie die Methode darauf. Es funktioniert gut, frage mich nur, ob eine Art Anti-Muster sollte ich weg bleiben?Aufruf einer Funktion an einer Komponente vom Controller
{{x-input bindingAction=(action "bindInput")}}
<button {{action "focusOnInput">Focus on input</button>
// x-input.js
import Ember from 'ember';
export default Ember.Component.extend({
init() {
this._super();
if (!Ember.isNone(this.get('bindingAction')) {
this.get('bindingAction')(this)
}
}
focus() {
// focus on component.
}
});
// controller.js
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
bindInput(input) {
this.set('input', input);
}
focusOnInput() {
this.get('input').focus();
}
}
});
Ja ich das Muster DDAU Muster verstehen, aber in diesem Fall, wie sonst würde das tun? – jpoiri
Sie können Ihren Anwendungsfall mit dem DDAU erreichen., Haben Sie einen bestimmten Anwendungsfall dafür? Tut mir leid, ich verstehe nicht, warum der Controller Komponente auf Element Fokus aufrufen sollte? – kumkanillam
Ja, wenn wir das modale Fenster grundsätzlich geöffnet haben und wir es schließen, wollen wir uns auf ein bestimmtes Feld für die Zugänglichkeit konzentrieren. – jpoiri