未捕获的TypeError:_. create不是Function.extend backbonejs

时间:2017-10-26 13:56:07

标签: backbone.js

var node = Backbone.Model.extend({
    defaults: function () {
        return {
            tag: null,
            value: null
        };
    }
});

var elements = Backbone.Collection.extend({
    model: node,
    url: "/api/xml/get",

    parse: function (data) {
        var $xml = $(data);

        return $xml.map(function () {
            var tag = $(this).each(function () {
                $(this).tagName;
            });
            return { tag: tag };
        }).get();
    },
    fetch: function (options) {
        options = options || {};
        options.dataType = "xml";
        return Backbone.Collection.prototype.fetch.call(this, options);
    }
});

var elementsView = Backbone.View.extend({
    initialize: function () {
        this.listenTo(this.collection, "sync", this.render);
    },

    render: function () {
        console.log(this.collection.toJSON());
    }
});

var eles = new elements();
new elementsView({ collection: eles });
eles.fetch();

使用 Backbone.js 最新的主题行出现第一行错误。试图让一个简单的演示使用它无法自己解决这个问题。 underscore.js 被引用。

1 个答案:

答案 0 :(得分:2)

此方法已添加到下划线版本{ "workouts": [ { "title": "Full Body", "exercises": [ { "name": "Push Ups", "duration": 3, "break": 3 }, { "name": "Squats", "duration": 3, "break": 3 }, { "name": "Running in Place", "duration": 3, "break": 3 } ] }, { "title": "God Legs", "exercises": [ { "name": "Running in Place (High Knees)", "duration": 3, "break": 3 }, { "name": "Squats", "duration": 3, "break": 3 }, { "name": "Clams", "duration": 3, "break": 3 } ] }, { "title": "Morning Stretch", "exercises": [ { "name": "Downward Dog", "duration": 3, "break": 3 }, { "name": "Face Plant", "duration": 3, "break": 3 }, { "name": "Warrior", "duration": 3, "break": 3 } ] } ] } 中。你可能有一个旧版本。