javascript - 如何从对象数组中获取属性?

标签 javascript backbone.js

我有一个名为 companies 的主干模型变量,它具有对象数组类型。通过把它放到控制台我得到这个:

这个对象加载了fetch函数:

require(["collections/Companies"],
    function(Companies) {
    var companies = new Companies();
    companies.fetch();
    console.log(companies[0].get("name"));

});

companies

公司.js:

define([
    'models/Company'
], function(CompanyModel) {
    'use strict';

    var CompanyCollection = Backbone.Collection.extend({
        model: CompanyModel,
        url: 'scripts/data/companies.json'
    });

    return CompanyCollection;
});

公司.js:

define([], function () {
    'use strict';

    var CompanyModel = Backbone.Model.extend({
        defaults: {
            id: '',
            name: '',
            description: ''
        }
    });

    return CompanyModel;
});

我尝试根据 tutorials 使用 get 来获取属性(console.log(companies[0].get("name"));) 运气不好。

获取属性的正确语法是什么?

提前致谢

最佳答案

要从集合中获取模型,您可以使用 Backbone 集合方法 - collection.at(INDEX);

示例代码:

var collection = new Backbone.Collection();
collection.add({ id: 1, name: "S"});
collection.add({ id: 2, name: "F"});

console.log(collection.at(0).attributes); // { id: 1, name: "S"}

var model = collection.at(0);

// get attributes from model

console.log(model.get("name")); // "S"

你可以玩demo

要从集合中获取模型,请使用:collection.models(您将获得模型数组)

关于javascript - 如何从对象数组中获取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810176/

相关文章:

javascript - Leaflet - 鼠标悬停、点击和取消点击

javascript - 如何用JavaScript的append()替换jQuery的append()

javascript - 使函数返回时如何避免 Javascript 垃圾收集

javascript - Backbone : Collection not rendered in View even though it's fetched

javascript - 通过将指定的 el 传递到 subview 实例化中,将 View 渲染到父 div 中

javascript - 我们如何在 JavaScript 移动应用程序中记录主干历史堆栈列表?

javascript - 如何在 Highcharts 散点图中显示类别名称而不是 point.y?

javascript - 我如何告诉 Backbone 该模型不是新的

javascript - 使用 backbone.js 单击模型后模型似乎堆叠起来

javascript - 如何使用各自的文本框创建多个多范围 slider ?