Onclick-Funktion auf Elemente im LENKER-Vorlage
Baue ich eine einfache webapp mit nur Handlebars.js und einige jQuery.
Nun habe ich eine Liste von Daten, und ich Sie durch eine LENKER-Vorlage. Dann möchte ich einige Aktionen im Zusammenhang mit diesen, z.B. update eines Elements, oder eins löschen. Ich habe Tasten, die man assoziiert mit diesen Aktionen, das problem ist, dass ich nicht zu verwalten, um onclick
-Methoden im Zusammenhang mit den Schaltflächen in der Vorlage zu arbeiten.
Lese ich diese Frage und Antwort, die mich führen, um das hinzufügen der extra-Halterung und helpermethod, aber es funktioniert immer noch nicht. Siehe code unten.
Handlebars.registerHelper('json', function(context) {
return JSON.stringify(context);
});
var myGreatFunction = function(someValue) {
//Work with that value
}
Vorlage:
{{#each Something}}
<button onclick="myGreatFunction({{{json this}}})"></button>
{{/each}}
Nun, es zu tun wie diese geben mir Uncaught SyntaxError: missing ) after argument list
an der Spitze der HTML-Datei.
Bemerkte ich die Antwort hier, also versuchte ich mit onclick="myGreatFunction( '{{{json this}}}' )"
was gibt mir die Fehlermeldung Uncaught SyntaxError: Unexpected token ILLEGAL
am Ende der HTML-Datei.
Mit onclick="myGreatFunction( '{{json this}}' )"
der button verschwindet einfach auf klicken Sie auf.
Erkennt jemand etwas, was ich verpasst habe, oder gibt es einen anderen Weg, dies zu tun? Ich dachte, ich hinzufügen das Objekt auf eine div/Taste in der Vorlage, fügen Sie ein jQuery-listener für das klicken Sie auf, holt sich den Wert aus der Vorlage, aber das scheint so hässlich und unübersichtlich.
Irgendwelche Tipps? Alle Hilfe ist sehr willkommen - vielen Dank im Voraus.
UPDATE: Scheint, das problem ist, wie Hacketo unten erwähnt, dass das JSON ausgegeben wird, hat es vermasselt. Ich inspizierte ein element in meinem code:
onclick="someFunc('{"id":5,"publisher":null,"message":" asdadsad","address":"asdad","published":"
Last Saturday at 12:00 AM","createdAt":"2015-07
23T09:55:35.486Z","updatedAt":"2015-07-23T09:55:35.486Z"}')"
(Gebrochen, die sich über mehrere Zeilen zur Verfügung).
Jetzt muss ich nur noch herausfinden, zu bekommen, JSON nach rechts zu sehen.
"
im onclick="myGreatFunction()"
?Ah, sorry. Das ist ein Tippfehler in meinem Beispiel hier, sorry. Fixieren Sie nun, Dank! =)
dieser Tippfehler auch zu werfen, dass die gleichen Fehler.
Hm, ich sehe. Ich hatte zu überprüfen, die in meinem Projekt, und ich habe es in Erinnerung da . Versucht, alle die oben genannten Dinge (es ist ein neuer Tag und alle), so dass ich nicht verpassen die
"
und Sie warf den gleichen Fehler wie vorher. Danke für den Tipp, aber!das ist genau das gleiche Beispiel, glaube ich : stackoverflow.com/questions/26642048/...
InformationsquelleAutor Esso | 2015-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, weil
JSON.stringify
Gegenzug einen JSON-string und enthält"
.Im moment der Vorlage kann wie folgt Aussehen:
Zusammengestellt :
Und dieses Ergebnis als
Müssen Sie entkommen, diese
"
- und Sie können dies tun, in den Helfer,Und dies führt, wie
Aktualisieren Sie Ihre Antwort zu erwähnen
myGreatFunction({{{json this}}})
, weil andere vielleicht so langsam wie ich war (oder auch nicht, aber nur um sicher zu sein). Danke! Die HTML in das Dokument zurückgegeben ist jetzt korrekt, aber die Tasten einfach nur noch verschwinden zwar nicht, aber etwas anderes könnte dazu führen,".Dummerweise habe ich genannt hatte, die Funktion
remove
, die natürlich entfernt die Schaltfläche klicken. Alles funktioniert jetzt, Dank einem Haufen!InformationsquelleAutor Hacketo
Nehmen Sie nur die zusätzliche Halterung. Wenn du LENKER HTML-escaping (die wird es automatisch in regelmäßigen
{{json this}}
invocation), es wird auch die Flucht der Angebote für Sie.InformationsquelleAutor Blank