0

Ich komme zu gehen von Meteor.js, die, während voller toller Funktionen, ist ein wenig zu Black-Box-y für meinen Geschmack. Eines der großartigen Dinge an Meteor war Blaze, was ihren Templating Engine reaktiv machte; Datenbankänderungen wurden sofort an die Benutzeroberfläche weitergegeben.Implementieren reaktiver Vorlagen in Golang

In Go scheint jedoch keine solche Lösung zu existieren, abgesehen von dem Versuch, React zu integrieren. Gibt es eine gute Möglichkeit, die Go-Vorlagen (Dinge wie {{Bereich}} und andere) reaktiv zu machen, sodass sie sofort auf Datenbankänderungen reagieren?

Was wir jetzt haben, für den Kontext, so etwas wie diese (in JS):

$(".delete-button").click(function (e) { 
    obj = $(this).closest(".object"); 
    id = $(obj).data("id"); 
    $("[data-id=" + id + "]").hide(); 

    // try to delete the element from the table 
    database.delete(id, function (err) { 
     if (err) { 
      $("[data-id=" + id + "]").show(); 
      log(err); 
      return; 
     } 
    }); 
}); 

Das ist in Ordnung, aber es ist ein bisschen frustrierend für nuancierter Dinge, wie die Bearbeitung. Irgendwelche Ideen oder Hilfe würden wirklich geschätzt werden.

+0

Wie ich weiß Meteor ist nicht eine App, es enthält verschiedene Komponenten. Die serverseitige Engine ist ein Knoten und der reaktive Teil ist vue.js. Sie können Go und meteor.js nicht vergleichen, da Sie auch meteor und node.js nicht vergleichen können, weil node.js nur ein Teil des Meteors ist. Um eine reaktive Vorlage in Go wie Meteor zu erhalten, könntest du vue.js mit Gorilla/Websocket und MongoDB verwenden. Wenn Sie suchen, finden Sie leicht einige Bausteine ​​für verschiedene Architekturen. – apxp

Antwort

0

Nein, verwechseln Sie die Rendering-Vorlagen auf der Server-Seite nicht mit laufendem Code im Browser und modifizieren Sie das DOM. Die einzige Möglichkeit, die gerenderte Vorlage zu aktualisieren, besteht darin, die ganze Seite zu aktualisieren, es sei denn, Sie injizieren dort JS-Code.

0

Sehenswert Hugo.

Es ist ein statischer Site-Generator geschrieben in gehen, der LiveReload unterstützt, wie Sie beschrieben haben. Es ist blitzschnell.