Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js backbonejs模型内永不停止的集合_Backbone.js - Fatal编程技术网

Backbone.js backbonejs模型内永不停止的集合

Backbone.js backbonejs模型内永不停止的集合,backbone.js,Backbone.js,为什么backbonejs在一个模型中创建了很多集合,我不知道它什么时候停止 就拿这个例子来说吧。如果您查看控制台并继续打开d对象,则其中始终有一个“collection”对象,它只是将同一对象重复一遍 我不知道这是一个bug还是什么,但我不确定这是否正常 有人请开导我。谢谢 var Song = Backbone.Model.extend({ defaults: { name: "Not specified", artist: "Not specifie

为什么backbonejs在一个模型中创建了很多集合,我不知道它什么时候停止

就拿这个例子来说吧。如果您查看控制台并继续打开d对象,则其中始终有一个“collection”对象,它只是将同一对象重复一遍

我不知道这是一个bug还是什么,但我不确定这是否正常

有人请开导我。谢谢

var Song = Backbone.Model.extend({
    defaults: {
        name: "Not specified",
        artist: "Not specified"
    },
    initialize: function(){
        console.log("Music is the answer");
    }
});

var Album = Backbone.Collection.extend({
    model: Song
});

var song1 = new Song({ name: "How Bizarre", artist: "OMC" });
var song2 = new Song({ name: "Sexual Healing", artist: "Marvin Gaye" });
var song3 = new Song({ name: "Talk It Over In Bed", artist: "OMC" });

var myAlbum = new Album([ song1, song2, song3]);
console.log( myAlbum.models ); // [song1, song2, song3]
@瑞安

是的,我知道模型可能包含对其集合的引用。但是有这样一个似乎没有尽头的链式物体有点奇怪。对象树如下所示:

[d, d ,d]
   0 > d
        > collection
            > models
                 0 > d
                      > collection
                           > models
                                0 > d
                                     > collection
                                           > models
                                                  0 > d
                                                   ...
                                                   keeps on and on and on

为什么会这样?

没有什么不对的。它们只是参考资料。每首
歌曲
一旦添加到该集合中,就会包含对其集合的引用,
唱片集

更新。也许会帮助你明白没有什么是不正常的。这基本上就是主干网正在做的事情。它的唯一目的是使导航
collection->user
或导航
user->collection
变得容易

var site = { name: 'stackoverflow' };
var users = [{ name: 'pneftali' }];
for (var i = 0; i < users.length; i++) {
    users[i].site = site;
}
site.users = users;
console.log(site.users);
var site={name:'stackoverflow'};
var users=[{name:'pneftali'}];
对于(var i=0;i
没有什么问题。它们只是参考资料。每首
歌曲
一旦添加到该集合中,就会包含对其集合的引用,
唱片集

更新。也许会帮助你明白没有什么是不正常的。这基本上就是主干网正在做的事情。它的唯一目的是使导航
collection->user
或导航
user->collection
变得容易

var site = { name: 'stackoverflow' };
var users = [{ name: 'pneftali' }];
for (var i = 0; i < users.length; i++) {
    users[i].site = site;
}
site.users = users;
console.log(site.users);
var site={name:'stackoverflow'};
var users=[{name:'pneftali'}];
对于(var i=0;i
每个
型号
都参考了
集合
。每个
集合
都必须引用其
模型
。Javascript只保存对集合的引用。开发人员工具栏只显示引用的详细信息。它们实际上并不是相互嵌套的。有相同的对象。您可以从模型
cid
中确认,该模型在整个链中没有变化。

每个
模型
都引用了
集合。每个
集合
都必须引用其
模型
。Javascript只保存对集合的引用。开发人员工具栏只显示引用的详细信息。它们实际上并不是相互嵌套的。有相同的对象。您可以从型号
cid
中确认这一点,这一点在整个链条中不会改变。

谢谢您的回答。我已经更新了我上面的问题,以进一步说明我的观点。我明白了。过了一段时间,它现在有了意义。模型包含对其集合的引用,因此在控制台上查看时,它看起来像一个无休止的循环。谢谢!:)谢谢你的回答。我已经更新了我上面的问题,以进一步说明我的观点。我明白了。过了一段时间,它现在有了意义。模型包含对其集合的引用,因此在控制台上查看时,它看起来像一个无休止的循环。谢谢!:)