gpt4 book ai didi

javascript - Backbone.Collections 中的集合和上下文有何用途?

转载 作者:行者123 更新时间:2023-11-28 20:49:31 26 4
gpt4 key购买 nike

当打印集合中的模型时,我看到两个“未定义”列表,contextcollection,它们与我的主干集合的长度相同,我想知道它们是用来做什么的。

var collection = new Backbone.Collection([{x:1},{x:2},{x:3}]);
print(collection.at(0));

{
_callbacks: {
all: {
next: {
callback: function (event, model, collection, options) {...},
context: [undefined, undefined, undefined],
next: {}
},
tail: {}
}
},
_escapedAttributes: {},
_pending: {},
_previousAttributes: {x: 1},
_silent: {},
attributes: {x: 1},
changed: {},
cid: "c11",
collection: [undefined, undefined, undefined]
}

最佳答案

context 是事件回调中的“this”值(查看使用 on 方法的主干文档),collection 是对 Backbone.Collection 的引用哪个 Model 实例属于 - 当您通过将模型的数据(如模型的示例 json 表示形式)添加到集合来创建模型时自动创建的引用。它允许集合和模型之间进行分层通信,并且还可以轻松监听仅可访问模型的集合上的事件(例如在项目 View 中)

让它看起来很奇怪的是,它将 contextcollection 显示为未定义值的数组 - 我不知道主干的版本以及您正在使用的环境但如果它是正确的,它应该显示您可以进一步扩展和检查的 Backbone.Collection 实例或引用(假设您使用的是浏览器 JS 控制台)。我敢打赌,您的打印方法可能会做一些奇怪的事情,将集合引用转变为这些数组。

关于javascript - Backbone.Collections 中的集合和上下文有何用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com