Wie übergibt man Parameter mit der Aktion Helfer Ember.js innen ein input-Feld aus einer LENKER-Vorlage?
In meinem LENKER Vorlage habe ich diese Schleife:
{{#each itemController="fund"}}
<li>
<label>{{title}}</label>
<span>{{amount}}</span>
{{input type="text" placeholder="new user"
value=newFullName action="createUser"}}
{{partial 'user-list'}}
</li>
{{/each}}
und übergeben zu müssen, das aktuelle Objekt als parameter für den 'createUser' action.
So etwas wie dieses:
action="createUser(this)"
oder:
action 'createUser' this
Aber es scheint, dass ember nicht verarbeiten können Parameter für die Aktionen, die innerhalb einer input-Feld...
Bin ich etwas fehlt?
- Wie Sie Ihre "Aktion" ausgeführt werden, dann? In der Regel müssen Sie etwas wie event="click" oder ein anderer Weg für den Aufruf der Aktion.
- Die Standardeinstellung ist, dass die Aktion aufgerufen wird eingeben.
- Ich bin stecken mit einem ähnlichen problem! Ember tutorial (guides.emberjs.com/v2.4.0/tutorial/autocomplete-component) hat {{input value= " filter-Taste-hoch=(Aktion 'autoComplete' - filter)}} das funktioniert nicht, brennen "Eine Aktion mit dem Namen 'autoComplete' wurde nicht gefunden in der (generierten index-controller)".
- Dies ist jetzt möglich - siehe meine Antwort unten
InformationsquelleAutor Massimo Guidi | 2013-09-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass das nicht möglich ist, dies zu tun mit der
action
Eigenschaft voninput
view Helfer.Ein workaround könnte sein, wickeln Sie Ihre Eingabe in einem Formular, verwenden Sie die
action
view-Helfer über das submit-Ereignis, wie die folgenden:Vorlage
Route
So, wenn der Benutzer enter drückt, wird das Ereignis ausgelöst.
Den wichtigsten Unterschied zwischen den action-Eigenschaft und der action view Helfer ist, dass der action view Helfer ist flexibler und können Sie liefern den Kontext und setzen es im inneren eines jeden-tag:
In der route:
Sehen die docs für weitere Informationen
Bitte geben Sie einen Blick in die jsfiddle zu sehen, dass die Probe in Aktion http://jsfiddle.net/marciojunior/UAgjX/
Ich hoffe, es hilft
Können Sie nun eine Funktion, zusammen mit den Werten -
http://emberjs.com/blog/2015/06/12/ember-1-13-0-released.html#toc_closure-actions
Schließlich landete ich mit dieser Lösung:
Vorlage
Controller
Können Sie übergeben Sie einen parameter an eine action-helper :
{{action "doSomething" xxx }}
Wo doSomething ist Ihr controller-Methode ,und xxx ist alles in den aktuellen Kontext der Vorlage.