首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >meteor.js和backbone.js是互补的吗?

meteor.js和backbone.js是互补的吗?
EN

Stack Overflow用户
提问于 2012-11-10 23:12:23
回答 2查看 9.4K关注 0票数 18

我最近一直在使用backbone作为我的客户端框架。在服务器上,我使用Express.js。尽管如此,我还是在阅读有关Meteor的文章,并意识到它是一个相当有趣的“全栈”框架。

Backbone和Meteor的使用是互补的吗?或者使用Meteor可以简单地抛弃Backbone (或其他MV*)吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-11 00:41:49

没错。Meteor的不同部分,如Meteor.Collection (也适用于客户端的Mongo数据库API )和Template (当数据发生变化时自动重绘的Handlebar样式模板)协同工作。因此,每当一个用户进行更改时,允许访问该数据所有其他选项卡都将自动重新绘制。如果您正在使用它们,那么您不需要在客户端使用像backbone这样的单独的库。

Backbone是为早期风格的应用程序构建的,在这种应用程序中,您可以使用不同的API编写单独的客户端和服务器代码。在该模型中,服务器端公开REST API,而backbone的工作是在客户端提供一些结构,以了解如何查询该API并根据返回的数据绘制屏幕。但在拥有实时应用程序之前,您仍然必须手动编写所有数据同步和模型验证代码,并且必须执行两次:一次在客户端,一次在服务器端。

有一个例外:我们中的许多人在Meteor应用程序中使用backbone的路由器。下面的代码来自Todo List example

代码语言:javascript
复制
////////// Tracking selected list in URL //////////

var TodosRouter = Backbone.Router.extend({
  routes: {
    ":list_id": "main"
  },
  main: function (list_id) {
    Session.set("list_id", list_id);
    Session.set("tag_filter", null);
  },
  setList: function (list_id) {
    this.navigate(list_id, true);
  }
});

Router = new TodosRouter;

Meteor.startup(function () {
  Backbone.history.start({pushState: true});
});
票数 27
EN

Stack Overflow用户

发布于 2013-07-31 22:58:07

有一个现有的名为meteor-router的陨石智能包。也许它可以帮助您迁移现有的主干代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13323228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档