0

URL が初期化関数に依存するバックボーン コレクションがあります。このバックボーン コレクションのインスタンスを作成するときに、ID を渡して、表示されるモデルのインスタンスをフィルター処理します。コレクションのコードは次のようになります。

  var GoalUpdateList = Backbone.Collection.extend({

    // Reference the Goal Update model
    model: GoalUpdate,

    // Do HTTP requests on this endpoint
    url: "http://localhost:8000/api/v1/goal_update/?goal__id=" + this.goal_id + "&format=json",

    // Set the goal ID that the goal update list corresponds to
    initialize: function(goal_id) {
      this.goal_id = goal_id;
      console.log(this.goal_id);
      console.log(this.url);
    },

  });

もちろん、これはうまくいきません。this.goal_id未定義と見なされます。初期化関数が実行される前にURLが設定されているためだと思います。

4

1 に答える 1

4

urlURL を動的に構築する関数を使用できます。

url: function() {
  return "http://localhost:8000/api/v1/goal_update/?goal__id=" + this.goal_id + "&format=json";
},
于 2012-04-03T23:25:38.200 に答える