Ich habe ein Modell und eine Sammlung für ein JSON erstellt, wie hier gezeigt. Wenn ich im Service instanziiere bekomme ich Fehler, dass mein Modell kein Konstruktor ist.Mein Modell verwendet eine Sammlung von Modellen zum Speichern von Zeit/Wert-Paaren. ServiceMonitoringModel.jsDas Modell ist kein Konstruktor-Backbone
define(function(require) {
'use strict';
var _ = require('underscore');
var Backbone = require('backbone');
var ServiceMonitoringCollection=require('./ServiceMonitoringCollection');
var ServiceMonitoringModel = Backbone.Model.extend({
modelNAme: 'ServiceMonitoringModel',
idAttribute: 'id',
defaults: {
// todo
content_type: '',
content_graph: {
capacity: null,
performance: {
memory: new ServiceMonitoringCollection(),
cpu: new ServiceMonitoringCollection()
}
}
},
initialize: function() {
//todo
},
validate: function(attributes) {
},
parse: function(response) {
return {
content_type: response.content_type,
content_graph: {
capacity:this.getDeepJsonValue(response, 'capacity'),
performance: {
memory: new ServiceMonitoringCollection(this.getDeepJsonValue(response, 'memory'),{parse:true}),
cpu: new ServiceMonitoringCollection(this.getDeepJsonValue(response, 'cpu'),{parse:true})
}
}
};
}
});
return ServiceMonitoringModel;
});
Service.js
...
var ServiceMonitoringModel=require('common/model/server/ServiceMonitoringModel');
var ServiceMonitoringModel = new ServiceMonitoringModel();
Does 'ServiceMonitoringCollection' Referenz' ServiceMonitoringModel' zufällig? PS: Veränderbare Werte in einem 'defaults'-Objekt sind eine schlechte Idee, verwenden Sie eine Funktion für' defaults', wenn sie veränderbare Dinge enthält. –
ServiceMonitoringCollection verwendet ein anderes Modell servicePerfomanceModel, um das Array von Zeit-Wert-Paaren zu erstellen ... Ändert den Standardwert – Mikey
Was ist die genaue Fehlermeldung? Gibt es einen Stack-Trace? –