我对backbone.js 有疑问。我正在为现有的 api 创建一个前端,对我来说无法访问。问题是,当我尝试将新模型添加到集合中时,我可以在我的萤火虫中看到,每次骨干网尝试创建模型时,它都会将属性名称附加到 url。
例子:
- 默认网址 = /api/数据库
- 当我执行 GET = /api/database
- 当我使用对象执行 GET/POST 时 {"name": "test"} = /api/database/test 是结果
任何人都知道如何避免这种行为?
问候克恩
我的观点:
window.databaseView = Backbone.View.extend({
el: '#content',
template: new EJS({url: 'js/templates/databaseView.ejs'}),
initialize: function() {
var self = this;
this.collection.fetch({
success: function() {
console.log(self.collection);
var test = self.collection.get("_system");
console.log(test);
self.collection.get("_system").destroy();
self.collection.create({name: "test"});
}
});
},
render: function(){
$(this.el).html(this.template.render({}));
return this;
}
});
模型:
window.Database = Backbone.Model.extend({
initialize: function () {
'use strict';
},
idAttribute: "name",
defaults: {
}
});
收藏:
window.ArangoDatabase = Backbone.Collection.extend({
model: window.Database,
url: function() {
return '../../_api/database/';
},
parse: function(response) {
return _.map(response.result, function(v) {
return {name:v};
});
},
initialize: function() {
this.fetch();
},
getDatabases: function() {
this.fetch();
return this.models;
},
dropDatabase: function() {
},
createDatabse: function() {
}
});