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
Javascript 在主干网中,为什么我的collection.create()返回';未捕获类型错误:对象不是函数';?_Javascript_Backbone.js - Fatal编程技术网

Javascript 在主干网中,为什么我的collection.create()返回';未捕获类型错误:对象不是函数';?

Javascript 在主干网中,为什么我的collection.create()返回';未捕获类型错误:对象不是函数';?,javascript,backbone.js,Javascript,Backbone.js,我正在努力学习脊梁骨,但似乎不知道我做错了什么。我的App.wishlists.create(数据)行正在返回未捕获类型错误:对象不是函数。任何帮助都将不胜感激 /* -------------------------------------------------------------------------- */ /* src/models/wishlist.js /* -----------------------------------------------------------

我正在努力学习脊梁骨,但似乎不知道我做错了什么。我的
App.wishlists.create(数据)行正在返回
未捕获类型错误:对象不是函数
。任何帮助都将不胜感激

/* -------------------------------------------------------------------------- */
/* src/models/wishlist.js
/* -------------------------------------------------------------------------- */
(function($, App, Wishlist) {

  Wishlist.Model = Backbone.Model.extend({
    defaults: {
      title: ''
    }
  });

  App.wishlist = new Wishlist.Model;

}(jQuery, WL.module('app'), WL.module('wishlist')));

/* -------------------------------------------------------------------------- */
/* src/collections/wishlists.js
/* -------------------------------------------------------------------------- */
(function($, App, Wishlist) {

  Wishlist.Collection = Backbone.Collection.extend({

    model: App.wishlist,

    localStorage: new Backbone.LocalStorage('wishlists-backbone')

  });

  App.wishlists = new Wishlist.Collection;

}(jQuery, WL.module('app'), WL.module('wishlist')));


/* -------------------------------------------------------------------------- */
/* src/views/wishlist/edit.js
/* -------------------------------------------------------------------------- */
(function($, App, Wishlist) {

  Wishlist.Views.Edit = Backbone.View.extend({

    el: '#main',

    events: {
      'submit form': 'save'
    },

    template: _.template($('#wishlist-edit-template').html()),

    render: function() {
      this.$el.html(this.template());
    },

    save: function(e) {
      e.preventDefault();
      var data = $(e.target).serializeObject();
      App.wishlists.create(data);
      //e.preventDefault();
    }

  });

  App.wishlistEditView = new Wishlist.Views.Edit;

}(jQuery, WL.module('app'), WL.module('wishlist')));

/* -------------------------------------------------------------------------- */
/* src/app.js
/* -------------------------------------------------------------------------- */
var WL = WL || {};

WL.module = _.memoize(function(module) {
  return { Views: {} };
});

(function($, App) {
  var Router = Backbone.Router.extend({
    routes: {
      '':          'home',
      'new':       'edit',
      'edit/:id':  'edit'
    }
  });

  // on DOM ready
  $(function() {
    App.router = new Router;

    App.router.home = function(params) {
      new App.Views.Main;
    };

    App.router.edit = function(params) {
      App.wishlistEditView.render();
    };

    App.router.on('route', function(route, params) {
      App.router[route](params);
    });

    Backbone.history.start({ pushState: true });
  });

}(jQuery, WL.module('app')));
您正在将集合的
model
属性设置为wishlist模型的实例,而不是类。改为这样做:

model: WishList

这为我指明了正确的方向。它需要是愿望列表。模型。谢谢:)
model: WishList