如何将信息发送到新实例化的主干集合
How to send information to a newly instantiated Backbone collection?
我有一个API,它根据URL中的ID过滤一组对象,如下所示:
http://localhost:8000/api/v1/goal_update/?goal__id=12&format=json
我有一个集合,它对上面的URL执行GET请求。这是集合的代码:
var GoalUpdateList = Backbone.Collection.extend({
// Reference the Goal Update model
model: GoalUpdate,
// Do HTTP requests on this endpoint
url: function() {
return "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;
},
});
我想在创建集合的新实例时传入ID,所以我创建了一个包含以下代码的视图:
this.collection = new GoalUpdateList(this.model.get("id"));
不过,它认为我在传递模型参数。我试图传递信息,告诉集合要使用什么URL。因此,它通过一个验证函数运行ID,并将其余的主干代码搞砸。
Backbone的集合期望模型数据作为第一个参数,正如您已经注意到的那样。但是,您可以像其他Backbone对象一样,将第二个参数指定为对象文字。只需传递null
或undefined
作为第一个参数,然后在集合initialize
方法中,获得options
作为第二个参数。
GoalUpdateList = Backbone.Collection.extend({
initialize: function(data, options){
this.goal_id = options.goal_id;
}
});
new GoalUpdateList(null, model.get("goal_id"));
相关文章:
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 如何在用户输入时实例化数组
- 在requirejs中共享实例化对象
- Mongoose TypeError:实例化模式类型的对象时,对象不是函数
- Angular重命名模块后未能实例化模块
- Backbone relational无法实例化两个RelationalModel对象
- 我应该如何用javascript实例化这个日期
- AngularJS出错-无法实例化模块
- 谷歌地图重叠MarkerSpiderfier实例化问题
- 未捕获错误:由于,[$injector:moduler]未能实例化模块polmgr
- ngRoute不是因果报应实例化的
- JavaScript 中的动态实例化
- 在文本框上绑定谷歌地点自动完成,而无需实例化谷歌地图
- UI5 路由不实例化视图
- 在 JavaScript 中,当我们实例化派生对象时,原型的函数隐藏在哪里
- 未在集合中实例化主干模型
- Backbone.js集合在实例化时将自身的副本添加到集合中
- 主干.js:如何在集合/其他模型中实例化模型
- 如何将信息发送到新实例化的主干集合
- 在Backbone/胸腔应用程序中实例化我的集合的位置