Error no definido al usar objetos javascript

Explicado mejor con código, ¿hay alguna forma de evitar este error? Estoy intentando simular un espacio de nombres.

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
        Notifications: Backbone.Collection.extend({
            model: SomeNamespace.Notification //error here. SomeNamespace is not defined
        }),
};

preguntado el 27 de agosto de 11 a las 16:08

En el momento en que define el objeto, no puede acceder a sí mismo. Aún no existe. -

En tu segunda línea Backbone.Model.extend() probablemente debería ser new Backbone.Model -

1 Respuestas

window.SomeNamespace y así el global SomeNamespace no se definirá hasta que el lado derecho de la = ha sido ejecutado. Entonces tendrás que dividirlo en dos partes.

window.SomeNamespace = {
        Notification: Backbone.Model.extend(),
};


window.SomeNamespace.Notifications = Backbone.Collection.extend({
    model: SomeNamespace.Notification
});

Por supuesto que puede hacerlo de una manera más agradable usando el extend() método.

Respondido 27 ago 11, 20:08

Pensé que Backbone.Collection.extend sería genérico, pero aparentemente no lo es ... así que la forma en que usé está bien. - ThiefMaster

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.