Ich schreibe eine Tabelle Anwendung mit RiotJS und ich laufe immer wieder auf das gleiche Problem mit dem Onclick-Ereignis. Fast versuchen jedes Mal, wenn ich dieRiotJS Onclick Triggerung auf Last
<tag onclick={somefunction}>
ich sehr erratische Verhalten bekommen zu verwenden. Manchmal wird die Funktion eine ganze Reihe von Malen aufgerufen, wenn die Seite geladen oder aktualisiert wird, und reagiert dann überhaupt nicht auf Klicks. In anderen Fällen wird sie beim Start mehrmals ausgelöst. Ich kann kein Muster hinter dem Problem finden, obwohl ich bemerkt habe, dass es ein Problem mit Inline-Funktionsaufrufen, z.
<tag onclick={console.log("foo")}>
und weniger häufig mit Bezug vorbei <tag onclick={function}>
obwohl es mit beiden passiert. Hat jemand so etwas erlebt? Bitte kommentieren Sie, wenn Sie mehr Kontext benötigen.
Probieren Sie 'onclick = {somefunc.bind ('blah')}}' https://github.com/riot/riot/issues/1001 –
Sie können nicht '{console.log (" foo ")} verwenden 'da das execute/evaluiert, während es analysiert, dann überhaupt nicht" onclick ". Wie @Daniel_L sagte, wenn Sie Argumente übergeben wollen, können Sie '.bind' oder' data-'oder ähnliches verwenden, wie in http://github.com/riot/riot/issues/1001 – user1278519
erwähnt 't like: '' Verwenden Sie dann eine Closure: 'somefunction() {/ private vars */gibt function() zurück { /* Zugriff auf private vars */ /* preform your click logic */ }} so sieht Ihre Vorlage wie folgt aus: ' –
Simon