2011-03-05 11 views
14

TypeError: El resultado de la expresión 'this._configure' [undefined] no es una función.backbone.js this._configure undefined al llamar a vistas

sigo corriendo en este error a la hora que se extienden Backbone.View

la estructura de mi aplicación se ve como:

//index.js

$(function(){ 
    window.Project = Backbone.Model.extend({}); 
    window.ProjectCollection = Backbone.Collection.extend({}); 
    window.projects = new ProjectCollection; 
    window.ProjectView = Backbone.View.extend({}); 
    window.view = ProjectView({}); 
    window.view.render(); 
}); 

Incluso con esta estructura en blanco todavía obtener el error, y cuando tengo todo mi código lleno me sale exactamente el mismo error

¿Me estoy perdiendo una dependencia? en mi index.html cargo el siguiente en orden:

jquery.js 
underscore.js 
backbone.js 
(and at the bottom of my body) index.js 

Y si tomo la 'ventana' fuera de mi variables me sale el mismo error.

No importa cómo me acerque a backbone.js sigo teniendo el mismo error ... ¿cómo puedo arreglar esto?

Respuesta

27

Trate

window.view = new ProjectView; 

en lugar de

window.view = ProjectView({}); 
+0

Esta era mi problema. Gracias. – shanejonas

+0

Bueno para escuchar. Marque esta respuesta correcta si resuelve su problema. – polarblau

2

que estaba viendo recientemente este error demasiado TypeError: this._configure is not a function y era porque tenía:

var myView = someView();

en lugar de:

var myView = new someView();

0

Necesitaba pasar argumentos a mi vista, por lo que ninguna de las opciones aquí funcionó para mí.

Tenía este código:

return new app.module('foo').View({id: 1}); 

Si lo cambia a esto funcionó:

var view = app.module('foo').View; 
return new view({id: 1}); 
Cuestiones relacionadas