0
我有一個backbone.js的問題。我爲現有的api創建了一個前端,對我來說無法訪問。問題是,當我嘗試向集合中添加新模型時,我可以在我的螢火蟲中看到,每當主幹嘗試創建模型時,它都會將屬性名稱附加到該URL。如何停止單個模型將其ID添加到Backbone中的url?
實施例:
- 缺省URL =/API /數據庫
- 當我執行GET =/API /數據庫
- 當我與對象{ 「名稱」 執行GET/POST:「測試「} = /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() {
}
});
您設置了'idAttribute:「name」'。所以id是名字,並且沒有url函數,backbone使用默認的url函數。 –