So führen Sie einen Rückruf aus, wenn Moustache.js die Rendering-Vorlage beendet hat

9

Gibt es eine saubere Möglichkeit, eine Callback-Funktion zu definieren / auszuführen, nachdem Moustache.js eine Vorlage gerendert und in das DOM eingefügt hat? Zum Beispiel so etwas:

%Vor%

Das Beste, was ich mir ausgedacht habe, ist das Zählen der Anzahl der Knoten in meinem Ansichtsmodell, das in das DOM eingefügt wird, und dann das Verwenden von setInterval, um zu prüfen, ob es viele Knoten im DOM gibt. Sobald sie es tun, kann ich dann die gewünschte Funktion aufrufen. Dies scheint mir ineffizient und potentiell fehlerhaft zu sein, aber ich weiß nicht, was ich sonst tun soll.

    
Jedediah 02.02.2013, 21:10
quelle

4 Antworten

3

Nicht im Zusammenhang mit dem Schnurrbart, eigentlich handelt es sich um jQuery .html ().

$ ('. your_div') .html (gerendert) .promise (). done (function () {

%Vor%

});

    
Sacbmcpd Samuel 31.03.2015 04:19
quelle
2

Sie benötigen keinen Callback für die Funktion render() von mustache.js, weil sie synchron ist. jquery's .html() ist ebenfalls synchron.

Wenn Sie wirklich einen Rückruf benötigen (aus welchem ​​Grund auch immer), können Sie ihn selbst programmieren:

%Vor%     
low_rents 30.06.2016 09:57
quelle
0

Wenn Sie auch jQuery verwenden, können Sie Folgendes verwenden:

%Vor%

Moustache.js kann Vorlagenergebnisse streamen. Dies wurde in der Projektdokumentation beschrieben, wurde aber kürzlich entfernt . Ich bin mir nicht sicher, ob dies beabsichtigt war, aber es scheint immer noch zu funktionieren. Dies beschreibt einen optionalen Rückrufparameter der Funktion Mustache.to_html , die jedes Mal aufgerufen wird, wenn ein Chunk der Vorlage gerendert wird. Vielleicht kann dies bei Ihrem Problem helfen.

    
Martin Harrigan 14.04.2013 19:33
quelle
0

Sie können etwas wie folgt verwenden:

%Vor%

Die detaillierte Anleitung finden Sie hier: Ссылка

    
chaensel 20.04.2017 14:19
quelle

Tags und Links