为什么我的主干模型奇怪地嵌套在集合中,需要钻取才能访问方法/属性?
Why are my Backbone Models nested strangely within a Collection, requiring drilling down to access methods/properties?
我有一个集合和一个模型,两者都使用属性/选项来增加它们的额外功能。下面是模型(LoadRouteGroup):
return Backbone.Model.extend({
initialize: function () {
console.log(this);
},
fetchf: function () {
console.log("FETCH");
}
});
和集合(LoadRouteGroups):
return Backbone.Collection.extend({
constructUrl: function(options) {
if (options.groupingType === "facility") {
// TODO: new endpoint: /api/v1/loadroutes?grouping=facility
this.url = clawConfig.endpoints.webApiRootUrl + "/api/loads/facilities";
}
else {
this.url = clawConfig.endpoints.webApiRootUrl + "/api/v1/loadroutes";
}
},
initialize: function (models, options) {
options || (options = {});
this.constructUrl(options);
console.log(this);
}
});
它们的实例化如下:
var loadRouteGroup = new LoadRouteGroup({
entityType: "facility"
});
// WORKS
loadRouteGroup.fetchf();
// assign groupingType option to collection to denote which URL to use
var loadRouteGroups = new LoadRouteGroups({
model: loadRouteGroup
}, {
groupingType: "facility"
});
var firstGroup = loadRouteGroups.at(0);
// DOESN'T WORK
firstGroup.fetchf();
// WORKS
firstGroup.attributes.model.fetchf();
我希望对firstGroup.fetchf()
的调用能够工作…但事实并非如此。相反,我必须奇怪地钻取并使用firstGroup.attributes.model.fetchf()
来访问该方法。
这是怎么回事?这对我来说似乎很简单,但是我无论如何也弄不清楚我的Collection和Model之间的关系出了什么问题。
集合定义应该包括模型类型:
return Backbone.Collection.extend({
// ....
model: LoadRouteGroup
});
初始化集合时,传入一个模型数组:
var loadRouteGroup = new LoadRouteGroup({
entityType: "facility"
});
var loadRouteGroups = new LoadRouteGroups([loadRouteGroup], {
groupingType: "facility"
});
在扩展集合时指定模型,而不是在实例化时指定模型。
相关文章:
- 带有向下钻取的 Amchart 图表工作正常,但“后退”按钮不起作用
- 如何通过向下钻取制作高图表箱形图
- 使用 json 的 Highcharts 动态钻取
- Highcharts甜甜圈工具提示格式使用钻取数据
- 章节文本标签没有't显示在D3.JS向下钻取饼图中
- Highchart向下钻取到同时存在的多个系列和y轴
- 动态钻取嵌套的对象数组
- 高位图向下钻取不起作用
- 具有向下钻取的 Highcharts 列会导致主图表中的数据标签模糊,但向下钻取的列除外
- 数据表 - 忽略使用 colspan 向下钻取的行
- 带有“日期时间”x轴的图表 - 在向下钻取时使用类别
- 钻取$scope以获取复杂的自动完成DOM中的特定元素
- 突出显示:在向下钻取之前获取事件
- amCharts多级向下钻取
- 高图钻取问题
- 在 hplot R 的饼图中向下钻取
- 高图表 将向下钻取(三层)重置为初始状态
- 在 URL 中传递特殊字符以钻取 SSRS
- Highcharts通过事件点击访问向下钻取数据
- 为什么我的主干模型奇怪地嵌套在集合中,需要钻取才能访问方法/属性?