Backbone.js 主干:我的模型没有通过id。这是一个评论系统。我正在尝试将创建的注释发布到后端
主干:我正在尝试创建一个评论系统。我的模型没有传递id。我正在尝试将创建的注释发布到后端。 尝试创建时,将id值作为选项传递,但它永远不会传递给集合中的选项。 部分代码如下所示: 创建{body:commentVal},{wait:true,id:_id}Backbone.js 主干:我的模型没有通过id。这是一个评论系统。我正在尝试将创建的注释发布到后端,backbone.js,mongoose,backbone-views,backbone-events,backbone.js-collections,Backbone.js,Mongoose,Backbone Views,Backbone Events,Backbone.js Collections,主干:我正在尝试创建一个评论系统。我的模型没有传递id。我正在尝试将创建的注释发布到后端。 尝试创建时,将id值作为选项传递,但它永远不会传递给集合中的选项。 部分代码如下所示: 创建{body:commentVal},{wait:true,id:_id} /* This is comments Model */ define([ 'backbone' ], function(Backbone){ var CommentModel = Backbone.Model.extend({
/* This is comments Model */
define([
'backbone'
], function(Backbone){
var CommentModel = Backbone.Model.extend({
defaults: {
body: " "
}
});
//Returns the model for the module
return CommentModel;
});
/* This is comments collection */
define([
'jquery',
'backbone',
'../models/comment'
], function($, Backbone, CommentModel){
var CommentCollection = Backbone.Collection.extend({
model: CommentModel,
url: function() {
var urlRoot = '/api/v1/comment';
return urlRoot + '/' + this.id;
},
initialize: function(attrs,options){
this.id = options.id;
}
});
return CommentCollection; // We should never return collection instantiated.
});
这种方法应该适合您:
var comments = new CommentCollection([],{id:_id });
comments.fetch({
success: function(){},
error: function(){}
});
当你创建一些东西时,没有ID。没有ID表示你想创建或发布一些东西。后端应该是提供ID(可能是DB)的后端。因此后端应该应用ID,然后发回绑定了ID的发布模型。