19 01 2013 javascript Backbone.js Tweet
リンク切れてるっていう連絡をもらったので更新しておきました(2018/01/30)。
モデルにgoogle tasksのapiを使ってbackbone.jsでアプリをつくるチュートリアルを読んだ。
package.jsonのscriptsのセクションにstartがないのにnpm startでサーバーが立ち上がるのはなんでじゃろかー?って不思議だったので、ぐぐってみた。
npm startのデフォルトはnode server.jsらしい。
Backbone.sync
RESTfulなAPIじゃない場合とか他のライブラリを使いまわす場合どうするのかなと思って調べてみたらBackbone.syncを上書きすればいいらしい。modelのほうはいじらないでsyncでよろしくやればいいみたい。
Backbone.sync = function(method, model, options) { var requestContent = {}; options || (options = {}); switch (model.url) { case 'tasks': requestContent.task = model.get('id'); break; case 'tasklists': requestContent.tasklist = model.get('id'); break; } switch (method) { case 'create': requestContent['resource'] = model.toJSON(); request = gapi.client.tasks[model.url].insert(requestContent); Backbone.gapiRequest(request, method, model, options); break; case 'update': requestContent['resource'] = model.toJSON(); request = gapi.client.tasks[model.url].update(requestContent); Backbone.gapiRequest(request, method, model, options); break; case 'delete': requestContent['resource'] = model.toJSON(); request = gapi.client.tasks[model.url].delete(requestContent); Backbone.gapiRequest(request, method, model, options); break; case 'read': request = gapi.client.tasks[model.url].list(options.data); Backbone.gapiRequest(request, method, model, options); break; } };