Backbone.js模型同步声明URL未定义
我正在尝试创建一个新的主干模型(在Knockback中工作),目前我正在尝试使用RESTful后端服务器进行设置。问题是,在尝试使用targets.sync()时,URL不被接受。但是,它在执行objectives.fetch()时正常工作,并正确地从指定的URL提取数据。我做错了什么Backbone.js模型同步声明URL未定义,backbone.js,backbone.js-collections,knockback.js,Backbone.js,Backbone.js Collections,Knockback.js,我正在尝试创建一个新的主干模型(在Knockback中工作),目前我正在尝试使用RESTful后端服务器进行设置。问题是,在尝试使用targets.sync()时,URL不被接受。但是,它在执行objectives.fetch()时正常工作,并正确地从指定的URL提取数据。我做错了什么 /** * Objectives model */ var Objective = Backbone.Model.extend({ url: 'api/objective', // Defa
/**
* Objectives model
*/
var Objective = Backbone.Model.extend({
url: 'api/objective',
// Defaults
defaults: {
category: null,
weight: null,
name: null,
descriptor: null
}
});
/**
* Basic objectives collection
*/
var ObjectiveCollection = Backbone.Collection.extend({
model: Objective,
url: function() {
return "api/objective";
},
initialize: function(models,options) {}
});
可在此处查看实际使用此集合的代码:
var objectives = new ObjectiveCollection();
objectives.fetch();
var view_model = {
objectives: kb.collectionObservable(objectives, {view_model: kb.ViewModel})
};
ko.applyBindings(view_model, $('#objectives').get(0));
// Listener for the click button
$('#click').click(function() {
counter++;
var objective_model = new Objective({name: Math.random(), descriptor: 'What up'});
objectives.add(objective_model);
objectives.sync();
});/**/
不要在没有类似参数的情况下调用sync()
。Sync需要参数,这就是为什么会出现错误,但更重要的是,您可能需要做的是objective\u model.save()