Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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集合中的模型名称列表_Backbone.js - Fatal编程技术网

Backbone.js集合中的模型名称列表

Backbone.js集合中的模型名称列表,backbone.js,Backbone.js,我正在尝试学习一点backbone.js,我被一些我认为应该很容易理解的东西卡住了。如何获取集合中所有模型名称的列表 我甚至在复制和粘贴主干教程: var Song = Backbone.Model.extend({ defaults: { name: "Not specified", artist: "Not specified" }, initialize: function(){ console.log("Music

我正在尝试学习一点backbone.js,我被一些我认为应该很容易理解的东西卡住了。如何获取集合中所有模型名称的列表

我甚至在复制和粘贴主干教程:

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]
问题是-这不会在控制台中为我提供模型名称: console.log(myAlbum.models);//[song1,song2,song3]

取而代之的是[child,child,child,child]——如何获取实际名称?

您需要
提取
名称属性

myAlbum.pluck('name');
无法获得这样的数组:

['song1', 'song2', 'song3']
因为变量的名称在程序逻辑中不可用

更新 本教程编写此内容时:

console.log( myAlbum.models ); // [song1, song2, song3]

这意味着数组
模型
与编写
[song1,song2,song3]
时相同,而不是编写
[song1',song2',song3']
。引号是区别因素。

谢谢Logan,它给了我所有的“名称”属性,但我正在寻找模型名称。。在教程中:集合是使用模型song1、song2和song3创建的。我想得到一份集合中所有模型的列表,我想集合。模型会这样做。@Henry你说的“名字”是什么意思?就像你想要一个包含字符串“song1”、“song2”、“song3”的数组一样?您在问题中打印的是一个模型对象数组,它只打印为“子对象”。正如在myAlbum.models[0]==song1
Yep中一样,如何打印仅包含“song1”、“song2”等的数组。。很抱歉,我甚至没有正确地询问:)@Henry变量的名称在代码中不能作为字符串使用。您能解释一下为什么要访问它们吗?也许我可以给出另一个建议。当然,我只是按照backbonetutorials.com/what-is-a-collection教程进行操作,我认为我做错了什么,因为教程让我觉得我应该。。我的最终目标是了解删除模型的工作原理。。我想,如果我可以得到字符串中的模型名称,那么我就可以删除使用名称作为唯一标识符的单个模型。也许我应该看看cid?