Javascript 通过StackMob Sdk将基于本地存储的主干应用程序连接到StackMob远程服务器

Javascript 通过StackMob Sdk将基于本地存储的主干应用程序连接到StackMob远程服务器,javascript,backbone.js,coffeescript,stackmob,Javascript,Backbone.js,Coffeescript,Stackmob,我正在构建一个todos示例的变体 如您所见,应用程序将数据保存到浏览器的本地存储中 我想把它保存到我正在使用的远程服务器,也就是StackMob。 阅读了StackMobJS-SDK教程后,它似乎告诉我如何基于JSSDK从头开始构建应用程序 问题是,我是否可以使用我已经编写的内容,将数据存储在stackmob而不是LocalStorage,或者我最好按照JS-SDK教程重写应用程序 谢谢, Oz我不熟悉coffeescript语法(至少,还不熟悉!),但我会在不久的将来熟悉它。不幸的是,T

我正在构建一个todos示例的变体

如您所见,应用程序将数据保存到浏览器的本地存储中

我想把它保存到我正在使用的远程服务器,也就是StackMob。 阅读了StackMobJS-SDK教程后,它似乎告诉我如何基于JSSDK从头开始构建应用程序

问题是,我是否可以使用我已经编写的内容,将数据存储在stackmob而不是LocalStorage,或者我最好按照JS-SDK教程重写应用程序

谢谢,
Oz

我不熟悉coffeescript语法(至少,还不熟悉!),但我会在不久的将来熟悉它。不幸的是,Todo教程中的本地存储适配器链接已断开,因此我无法对此进行研究,但在此期间,也许我可以找出原因。我注意到Todo是通过语法从Backbone.Model扩展而来的:

class Todo extends Backbone.Model
非coffeescript语法将其布局为:

var Todo = Backbone.Model.extend({ ...});
类似地,创建保存到StackMob的Todo类似于:

var Todo = StackMob.Model.extend({...});
那么也许这个翻译会奏效

class Todo extends StackMob.Model

class TodoList extends StackMob.Collection
这似乎相当于定义一个支持StackMob的模型,为您的模型提供服务器端CRUD功能

扩展StackMob.Model的模型将在调用
save()
时使用JSON对StackMob进行ajax调用,并将其保存到服务器端数据库。类似地,
model.fetch()
将从数据库中检索并填充模型

TodoList将内置StackMob查询,以便您可以执行以下操作:

(regular JS syntax:)
//Get the first five "done" Todo items, order by the "created date"
var q = (new StackMob.Collection.Query()).equals('done', true).
    setRange(0,4).orderAsc('createddate');
var todos = new TodoList();
todos.query(q);
当我有更多的时间时,我会在本周晚些时候亲自尝试,但我想现在就给你回复,尽管今晚已经很晚了,以防这有助于你继续。别忘了,要想让它们真正正确保存,您需要一个StackMob帐户并正确初始化JSSDK。但是,初始化步骤记录在和文档中

希望这能让你上路


Erick

我不熟悉coffeescript语法(至少,还不熟悉!),但我会在不久的将来熟悉它。不幸的是,Todo教程中的本地存储适配器链接已断开,因此我无法对此进行研究,但在此期间,也许我可以找出原因。我注意到Todo是通过语法从Backbone.Model扩展而来的:

class Todo extends Backbone.Model
非coffeescript语法将其布局为:

var Todo = Backbone.Model.extend({ ...});
类似地,创建保存到StackMob的Todo类似于:

var Todo = StackMob.Model.extend({...});
那么也许这个翻译会奏效

class Todo extends StackMob.Model

class TodoList extends StackMob.Collection
这似乎相当于定义一个支持StackMob的模型,为您的模型提供服务器端CRUD功能

扩展StackMob.Model的模型将在调用
save()
时使用JSON对StackMob进行ajax调用,并将其保存到服务器端数据库。类似地,
model.fetch()
将从数据库中检索并填充模型

TodoList将内置StackMob查询,以便您可以执行以下操作:

(regular JS syntax:)
//Get the first five "done" Todo items, order by the "created date"
var q = (new StackMob.Collection.Query()).equals('done', true).
    setRange(0,4).orderAsc('createddate');
var todos = new TodoList();
todos.query(q);
当我有更多的时间时,我会在本周晚些时候亲自尝试,但我想现在就给你回复,尽管今晚已经很晚了,以防这有助于你继续。别忘了,要想让它们真正正确保存,您需要一个StackMob帐户并正确初始化JSSDK。但是,初始化步骤记录在和文档中

希望这能让你上路


埃里克

当然!正如附录一样,StackMob.Model扩展了Backbone.Model,而StackMob.Collection扩展了Backbone.Collection,所以您应该获得使用Backbone通常获得的所有其他内容。当然!正如附录一样,StackMob.Model扩展了Backbone.Model,而StackMob.Collection扩展了Backbone.Collection,所以您应该获得通常使用Backbone获得的所有其他内容。