0

私はバックボーンにかなり慣れていません。バックボーンをよりよく理解するためにチュートリアルを行ってきましたが、モデルで定義できる URL がどのように機能するかを理解できませんでした。

url: '/todoItem'

私は PHP 環境から来て、静的ページに慣れています。「/todoItem」とは正確には何ですか?

ありがとうございました。

4

1 に答える 1

6

バックボーンは、各モデルが独自のURLパスを持つRESTリソースであるRESTスタイルのAPIを想定しています。したがって、次のようなことができる可能性があります。

  • で車のリソースを作成するPOST /car
  • 特定の車のリソースを読むGET /car/42
  • 車固有のリソースをPUT /car/42次のようなJSONリクエスト本文で更新します{"model": "Corolla"}
  • 特定の車を削除するDELETE /car/42

したがって、通常、モデルの場合、URLは/car、新しい(まだ保存されていない)モデルである場合と/car/42そうでない場合になります。したがって、バックボーンからのデフォルトの実装は次のとおりです。

url: function() {
  var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();
  if (this.isNew()) return base;
  return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id);
},

したがって、通常は、プロパティを変更するurlRootだけで、APIがRESTの規則に従っている場合は問題ありません。

var Car = Backbone.Model.extend({urlRoot: '/car'});
于 2013-03-10T18:03:34.607 に答える