【发布时间】:2016-11-11 16:11:18
【问题描述】:
我从 Meteor.js 来到 Go,虽然它充满了很棒的功能,但对我来说有点太黑盒了。 Meteor 最棒的事情之一是 blaze,它使他们的模板引擎反应灵敏。数据库更改立即传播到 UI。
但是,在 Go 中,除了可能尝试集成 React 之外,似乎不存在这样的解决方案。有没有一种好方法可以让 Go 的模板(例如 {{range}} 之类的东西)具有响应性,以便它们立即响应数据库更改?
就上下文而言,我们现在拥有的是这样的(在 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;
}
});
});
这很好,但对于更细微的事情(例如编辑)来说有点令人沮丧。任何想法或帮助将不胜感激。
【问题讨论】:
-
据我所知,meteor 不是一个应用程序,它包含不同的组件。服务器端引擎是节点,反应部分是 vue.js。 Go 和meteor.js 不能比较,因为meteor 和node.js 也不能比较,因为node.js 只是meteor 的一部分。要在 Go 中实现像流星一样的反应式模板,您可以将 vue.js 与 gorilla/websocket 和 mongoDB 一起使用。如果您搜索,您会很容易找到一些针对不同架构的样板。
标签: javascript templates go reactive-programming go-templates