2012-03-22 12 views
12

Essendo nuovo su Backbone.js, volevo solo chiarire il modo corretto di procedere su questa semplice operazione.Backbone.js singular Modelli non in collezione

Sviluppando un'applicazione web, quasi sempre, avrai account utente, dove gli utenti possono accedere alla tua app e visualizzare i loro dati personalizzati. Generalmente, la loro pagina potrebbe mostrare alcuni widget, le loro informazioni utente (nome, avatar, ecc.).

Ora la creazione di un modello per widget e il raggruppamento di questi in una raccolta è un concetto semplice. Tuttavia, le loro informazioni utente sarebbero memorizzate in un modello singolare, che non sarebbe diverso da una collezione?

Se sì, come è il collegamento con il resto dell'app? Perdona la mia ignoranza, ma non ho ancora trovato esempi che non spieghino Modelli che non li usano nelle Collezioni (Utente e Utenti, Cane, Gatto e Animali, ecc.)

In ogni caso, scusa per la spiegazione lunga. Sarei alla ricerca di risorse per iniziare a creare un'app reale, piuttosto che un'app ToDo (che è ottima per la comprensione di base del concetto)

risposta

21

Non c'è alcun motivo per sentirsi obbligati a dichiarare uno Collection per ogni Model dell'app. È molto comune avere modelli senza raccolta associati.

// 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 per esempio. Ha senso, grazie per la tua risposta! – crawf

+0

Funziona anche per risorse api singolari. "/api/user.json" (vs users.json) –

1

Se si desidera un modello/vista senza raccolta, don scrivere una vista collezione o collezione

Aggiungere la visualizzazione nello stesso modo in cui normalmente si visualizza la vista basata su raccolta.

Problemi correlati