Search code examples
javascriptbackbone.jsrequirejs

Error: .. is not a constructor in Backbone


I have a very basic model and controller. But when I execute the script I get below Error: Uncaught TypeError: dropdownModel is not a constructor

Model:

define(['backbone'], function(Backbone) {
    var dropdownModel = Backbone.Model.extend();
    return {
        dropdownModel: dropdownModel
    };
});

Controller:

define(['backbone', 'dropdownModel'],
  function(Backbone, dropdownModel ) 
  {
    var dropdownModel = new dropdownModel({});
});

Require Module:

requirejs.config({
    baseUrl: "../Scripts",
    paths: {
        requireLib: "../Scripts/require",
        dropdownModel: "../Models/dropdownModel",
        firstDashboardController: "../Controller/firstDashboardController",
    }
});

Solution

  • You're exporting an object instead of the model itself on this line:

    return {
        dropdownModel: dropdownModel
    };
    

    You probably just want to do this:

    return dropdownModel;