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