2016-05-04 13 views
0

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(); 
+1

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. –

+0

ServiceMonitoringCollection verwendet ein anderes Modell servicePerfomanceModel, um das Array von Zeit-Wert-Paaren zu erstellen ... Ändert den Standardwert – Mikey

+0

Was ist die genaue Fehlermeldung? Gibt es einen Stack-Trace? –

Antwort

0

Ihr Problem ist:

var ServiceMonitoringModel = new ServiceMonitoringModel(); 

Sie Wert auf Ihre Modelldefinition zuweisen. Versuchen:

var serviceMonitoringModel = new ServiceMonitoringModel(); 

Beachten Sie die Klein s

+0

danke Erik es hat funktioniert .... !!! – Mikey

Verwandte Themen