2012-03-22 8 views
12

Siendo nuevo en Backbone.js, solo quería aclarar la forma correcta de realizar esta simple tarea.Backbone.js singular Modelos que no están en la colección

Desarrollando una aplicación web, casi siempre, tendrá cuentas de usuario, donde los usuarios pueden iniciar sesión en su aplicación, y ver sus datos personalizados. Generalmente, su página puede mostrar algunos widgets, su información de usuario (nombre, avatar, etc.).

Ahora, crear un Modelo por artilugio y agruparlos en una Colección es un concepto sencillo. Sin embargo, ¿se almacenará su información de usuario en un Modelo singular, que no sería parte de una Colección?

Si es así, ¿cómo se conecta con el resto de la aplicación? Perdona mi ignorancia, pero todavía tengo que encontrar ejemplos que no expliquen Modelos que no los usan en Colecciones (Usuario y Usuarios, Perro, Gato y Animales, etc.)

De todos modos, disculpe la explicación larga. Buscaría recursos para comenzar a crear una aplicación del mundo real, en lugar de una aplicación ToDo (que es excelente para la comprensión básica del concepto)

Respuesta

21

No hay ninguna razón para sentirse forzado a declarar Collection por cada Model que tenga su aplicación. Es muy común tener Modelos sin Colección asociados.

// code simplified and not tested 
App.CurrentUser = Backbone.Model.extend({ 
    url: "http://myapp.com/session.json" 
}); 

App.CurrentUserView = Backbone.View.extend({ 
    el: "#user-info", 

    render: function(){ 
    this.$el.html("<h1>" + this.model.get("name") + "</h1>"); 
    } 
}); 

var currentUser = new App.CurrentUser(); 
currentUser.fetch(); 

var currentUserView = new App.CurrentUserView()({ model: currentUser }); 
currentUserView.render(); 
+0

+1 por ejemplo. Eso tiene sentido, gracias por tu respuesta! – crawf

+0

Esto también funciona para recursos singulares de API. "/api/user.json" (vs users.json) –

1

Si quiere un modelo/vista sin colección, don No escriba una colección o una vista de colección.

Agregue la vista de la misma manera que normalmente ve la vista basada en la colección agregada.

Cuestiones relacionadas