我不熟悉coffeescript 语法(至少现在还不熟悉!),但我会在不久的将来熟悉它。不幸的是,该 Todo 教程中的本地存储适配器链接已损坏,所以我无法调查,但与此同时,也许我可以推理出来。我确实注意到 Todo 通过以下语法从 Backbone.Model 扩展:
class Todo extends Backbone.Model
非咖啡脚本语法将其布局为:
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 的模型将在调用时使用 JSON 对 StackMob 进行 ajax 调用,并将其save()
保存到服务器端数据库。同样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 帐户并正确初始化 JS SDK。但是,初始化步骤记录在入门:JS SDK和JS SDK 教程文档中。
希望这能让你上路!
埃里克