模型不是构造函数主干

Model is not a constructor-Backbone

本文关键字:构造函数 模型      更新时间:2023-09-26

我已经为要获取的json创建了一个模型和集合,如下所示。当我在服务中实例化时,我会得到一个错误,即我的模型不是构造函数。我的模型使用模型集合来存储时间/值对。ServiceMonitoringModel.js

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;
    });

服务.js

 ...
 var ServiceMonitoringModel=require('common/model/server/ServiceMonitoringModel');
 var ServiceMonitoringModel = new ServiceMonitoringModel();

您的问题是:

 var ServiceMonitoringModel = new ServiceMonitoringModel();

您正在为模型定义指定一个值。尝试:

 var serviceMonitoringModel = new ServiceMonitoringModel();

注意小写的s