javascript - 指定了集合的 URL,但返回错误

标签 javascript backbone.js marionette

我在 myapp.com/groups 上有一个集合,如下所示:

[   {
    "_id": "52dd2bd1044bf96a12ed2319",
    "name": "US",
    "id": 1,
    "users": []   },   {
    "_id": "52dd2bd1044bf96a12ed231b",
    "name": "BR",
    "id": 3,
    "users": []   },   {
    "_id": "52dd2bd1044bf96a12ed231c",
    "name": "SK",
    "id": 4,
    "users": []   },   {
    "_id": "52dd2bd1044bf96a12ed231d",
    "name": "CZ",
    "id": 5,
    "users": []   },   {
    "_id": "52dd2bd2044bf96a12ed231e",
    "name": "UK",
    "id": 6,
    "users": []   } ]

然后我有 Backbone 模型和集合:

Group = Backbone.Model.extend({
        urlRoot: 'groups',
    });

Groups = Backbone.Collection.extend({
        url: 'groups',
        model: Group
    });

我想创建一个像这样的集合实例:

groups = new Groups();

groups.fetch();

但我总是收到错误:

Uncaught TypeError: Property 'url' of object [object Object] is not a function

最佳答案

试试这个

JavaScript

var Group = Backbone.Model.extend({});
var Groups = Backbone.Collection.extend({
    model: Group,
    url: "groups",
    parse: function(data) {
        return data;
    }
});
var GroupView = Backbone.View.extend({
    el: $("#page"),
    initialize: function() {
    },
    render: function() {
        var that = this;
        this.collection = new Groups();
        this.collection.fetch({
            type: "GET",
            contentType: 'application/json',
            dataType: "json",
            success: function(collection, response) {
                var template = _.template(yourViewTemplate, {
                    groups: that.collection.models
                });
                that.$el.html(template);
            },
            error: function(collection, response) {
                alert("error");
            }
        });

    }
});

html

<% _.each(groups, function(group) { %>
   <%= group.get('_id') %>
   <%= group.get('name') %>
   <%= group.get('id') %>
<% }); %>

关于javascript - 指定了集合的 URL,但返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302694/

相关文章:

javascript - Sequelize : Create multiple self association

javascript - 遇到 400 错误请求的问题(Angular + WebAPI)

javascript - Bootstrap Typeahead 正则表达式——允许空格

javascript - 如何在服务器端使用 require.js?

javascript - 如何使用 requireJs 以正确的顺序定义 Controller 、路由器和应用程序

handlebars.js - 在 Rails Asset Pipeline 中使用带有 Marionette 的外部 Handlebars 模板

javascript - 使用 ui.router AngularJs 进行路由

javascript - 添加选项到backbone.js model.save()

javascript - 添加时自动增加主干模型属性值?

javascript - 尝试使用 requirejs 实例化 Marionette 应用程序时出现“对象不是函数”错误