0

我有一个 Backbone 集合,其 URL 取决于初始化函数。当我创建这个 Backbone 集合的一个实例时,我传入一个 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

您可以使用url动态构建 URL 的函数。

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