[解決済み] Backbone.syncをオーバーライドするには?
質問
私はBackbone.jsを試しています。私が試していることの1つは、リモートAPIに呼び出しを行うことです。 ドキュメント .
ドキュメント自体にはその方法の例はありませんし、Backboneのためのgoogleグループもないようです...誰かこれを行うための例を指摘してくれますか?
どのように解決するのですか?
このアノテーションされたソースの例を見てみましょう。
Backbone.sync
をローカルストレージの代替とする
基本的にBackbone.syncは4つの引数を取る関数であるべきです。
Backbone.sync = function(method, model, options) { };
のいずれかを起動する必要があります。
options.success
または
options.error
を使用するかどうかによって
method
が成功しました。メソッドの形式は
-
"create"
: サーバ上でモデルを作成することを想定しています。 -
"read"
このモデルをサーバーから読み込んで返すことが期待されます。 -
"update"
引数でサーバ上のモデルを更新することが期待されます。 -
"delete"
: サーバからモデルを削除することが期待されます。
この4つのメソッドを実装し、自分の好きなように
"server"
もちろん、これらはあくまでも
Backbone.sync
しなければならない
を実装します。さらに実装することができます
methods
に渡すパラメータを増やすことができます。
success
が、これはやらないほうがいい。
と同じ動作をするようにするのがベストです。
Backbone.sync
を使用することで、実装ではなくインターフェースに対するプログラミングを行うことができます。もし、変更した
Backbone.sync
を、例えばlocalStorageのように、拡張したBackbone.sync"に合わせて自分で拡張する必要がありません。
編集
の複数の実装を使用できることにも注意してください。
sync
. すべての
Backbone.sync
は、実際には
(this.sync || Backbone.sync)
というようなことをすればいいのです。
var MyModel = Backbone.Model.extend({
...
"sync": myOwnSpecificSync,
...
});
Backbone.sync
はデフォルトのグローバルなもので、モデルが
sync
メソッドが特別に設定されています。
関連
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
OSSアップロードエラーを解決する: net::ERR_SSL_PROTOCOL_ERROR
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
JSアレイループと効率解析の比較
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】TypeError: Router.use() はミドルウェアの関数を要求しているが、Object を取得した。
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み】ReactJSでエラー発生 Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
jq は html ページとデータを動的に分割する。