在golang中实现反应模板

时间:2016-07-09 02:29:30

标签: javascript templates go reactive-programming go-templates

我是从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;
        }
    });
});

这很好,但对于更细致入微的事情,例如编辑,它会让人感到沮丧。任何想法或帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

不,不要将服务器端的渲染模板与浏览器中运行的代码混淆并修改DOM。更新渲染模板的唯一方法是刷新整个页面,除非你在那里注入一些JS代码。

答案 1 :(得分:0)

值得一看Hugo

这是一个用go编写的静态站点生成器,它支持LiveReload,正如您所描述的那样。它快速闪电。