相关疑难解决方法(0)

Backbone.js空数组属性

我遇到了一个Backbone.js模型的奇怪问题,其中一个数组成员显示为空白.它看起来像这样:

var Session = Backbone.Model.extend({
    defaults: {
        // ...
        widgets: []
    },
    addWidget: function (widget) {
        var widgets = this.get("widgets");

        widgets.push(widget);
        this.trigger("change:widgets", this, widgets);
    },
    // ...
    // I have a method on the model to grabbing a member of the array
    getWidget: function (id) {
        console.log(this.attributes);
        console.log(this.attributes.widgets);

        // ...
    }
});
Run Code Online (Sandbox Code Playgroud)

然后我通过添加一个小部件addWidget.尝试getWidget我得到的结果(在Chrome中)是这样的:

Object
    widgets: Array[1]
        0: child
        length: 1
        __proto__: Array[0]
    __proto__: Object
[]
Run Code Online (Sandbox Code Playgroud)

它显示记录时窗口小部件不为空,this.attributes但在记录时显示为空this.attributes.widgets.有谁知道会导致什么?

编辑 我已经更改了模型以在初始化方法中实例化窗口小部件数组,以避免跨多个实例的引用,并且我开始使用骨架嵌套而没有运气.

javascript arrays backbone.js

13
推荐指数
2
解决办法
4129
查看次数

标签 统计

arrays ×1

backbone.js ×1

javascript ×1