Quindi, creazione di un'applicazione che utilizza più (2 per ora) raccolte globali, è un catalogo di entrambi i documenti e pazienti, hanno relazioni, ma non come in, 1 documento o un elenco di documenti appartenenti a 1 paziente, quindi sono in effetti 2 raccolte separate,BackboneJs: come faccio a caricare i miei dati nel markup della pagina e quando li assegno alle mie raccolte
la mia app è strutturata in un sistema di moduli molto simile a come è descritto qui: http://weblog.bocoup.com/organizing-your-backbone-js-application-with-modules
la documentazione di backbone.js dice di bootstrap, per fare qualcosa di simile,
<script>
Accounts.reset(<%= @accounts.to_json %>);
</script>
che è all'interno di un'applicazione Rails, vorrei però bisogno di farlo in modo diverso in asp.net MVC3, molto probabilmente vorrei solo stampare il mio stringa JSON senza la <% =%>, che non è un rasoio stile motore di visualizzazione)
ma la mia domanda è qui,
questo Accounts.reset(...data...);
è appena galleggianti qualche parte nel mio markup, non è in alcun modo ben strutturato nel mio sistema del modulo, non c'è un modo per fare bene Questo? dove posso ottenere i dati, dal mio modulo?
e un'altra domanda lato, supponiamo di avere un percorso nella mia spina dorsale app http://example.com/#documents
e qualcuno chiama questo link direttamente, farò la mia app avere i dati pronti (dal bootstrap) in tempo, prima che il percorso è di per sé eseguito?
Non sono un esperto backbone.js ma ho scritto un semplice JsFiddle che fa questo tipo di bootstrap, anche se un po 'diverso. Fondamentalmente, I quando inizializzo la mia vista, crea la raccolta e chiama Collection.refresh(). Quindi ovunque creo la mia vista, inizializza automaticamente i suoi dati ... o i bootstrap in base alla tua verbosità. Ecco il link a JsFiddle: http: // jsfiddle.net/jcscoobyrs/WVX66/ –
buona idea, ma come ho letto sulla documentazione backbone, utilizzando fetch (o come si aggiorna la tua collezione) non è necessario al caricamento della pagina. perché avere una seconda connessione per recuperare tutti i dati, mentre potresti averlo inviato immediatamente con la pagina. tutto quello che mi chiedo è se il modo in cui lo faccio ora è il modo migliore per darlo con l'html ... come ora basta inserire un tag script, aggiungendo un intero mucchio di dati JSON, che ovviamente rimuoverò dopo l'inizializzazione la mia collezione. tuttavia dal momento che il tuo json proviene da una fonte esterna non puoi usare la mia tecnica per il tuo esempio, quindi usare collection.refresh() sarebbe il migliore – Sander
Backbone.js è stato scritto per interfacciarsi con gli endpoint RESTful e lo fa legando la tua Collezione ad un Punto finale REST utilizzato per recuperare/aggiornare la raccolta. Mentre puoi eseguire il bootstrap delle cose nel modo in cui vuoi, come puoi vedere dalla risposta che hai ottenuto, non è così comune come pensi. Lo scopo di backbone.js e simili è quello di separare l'interfaccia utente/vista dai dati stessi, quindi nelle mie esperienze, non ho mai passato niente di più del codice HTML di HTML per caricare il mio backbone.js che poi farà il suo lavoro di recupero/aggiornamento/gestione i miei oggetti basati su REST. "A ciascuno il suo." :) –