私は 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 対応のモデルを定義するのと同等の coffeescript のように思えます。これにより、モデルにサーバー側の 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 を適切に初期化する必要があることを忘れないでください。ただし、初期化手順はGetting Started: The JS SDKおよびJS SDK Tutorialドキュメントに記載されています。
これでうまくいくことを願っています!
エリック