我是从Meteor.js来的,虽然充满了令人敬畏的功能,但根据我的口味,它有点太黑了。关于流星的一个令人敬畏的事情是大火,这使得他们的模板引擎反应灵敏;数据库更改立即传播到UI。
但是,在Go中,除了尝试集成React之外,似乎不存在这样的解决方案。是否有一种很好的方法可以使Go的模板(如{{range}}和stuff之类的东西)被动反应,以便它们能够立即响应数据库的变化?对于上下文,我们现在拥有的是这样的(在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;
}
});
});
这很好,但对于更细致入微的事情,例如编辑,它会让人感到沮丧。任何想法或帮助都会非常感激。
答案 0 :(得分:0)
不,不要将服务器端的渲染模板与浏览器中运行的代码混淆并修改DOM。更新渲染模板的唯一方法是刷新整个页面,除非你在那里注入一些JS代码。
答案 1 :(得分:0)
值得一看Hugo。
这是一个用go编写的静态站点生成器,它支持LiveReload,正如您所描述的那样。它快速闪电。