2012-03-19 11 views
5

Sono molto nuovo alla dorsale ma riesco a farlo funzionare dal tutorial. Ma quando voglio portare quelle applicazioni sulla piastra principale del backbone, mi ritrovo bloccato sul modello. Come posso accedere al mio modello dal mio modello? o anche dal file js stesso? Mi trovo bloccato qui per un po 'ora.Backbone Boilerplate Template

backbone Boilerplate riferisce a https://github.com/tbranyen/backbone-boilerplate

+0

Puoi fornire alcuni dettagli/snippet che mostrano quale codice non funziona? – rfunduk

risposta

4

Per la maggior JavaScript librerie di template, template avviene in due fasi.

  1. Passare una stringa (in genere contenente HTML) alla funzione di "compilazione" del motore di template. Questo ti restituisce una "funzione modello" che puoi eseguire. Questo deve avvenire solo una volta per modello per tutta la durata della tua applicazione.
  2. Render il modello in output (in genere HTML) richiamando la funzione del modello compilato e fornendo un "contesto" di dati che saranno disponibili per il modello. Questo può essere fatto ripetutamente con diversi dati di contesto per produrre HTML diversi.

.

//Compile your template string into a function 
//Happens 1 time only then you can cache the function 
var templateFunction = _.template("<p>Your <%- part %> is so <%- description %></p>"); 

//Generate your output HTML with varying sets of data. 
var html1 = templateFunction({part: "nose", description: "big"}); 
//html1 has "<p>Your nose is so big</p>"; 
var html2 = templateFunction({part: "cat", description: "fat"}); 
//html2 has "<p>Your cat is so fat</p>"; 

Questa è la stessa idea di base per i modelli di sottolineatura, JST, giada, e la maggior parte degli altri motori di templating. I "dati di contesto" sono il modo in cui il modello ottiene l'accesso al tuo modello. Se lo desideri, puoi dare accesso diretto al modello sottostante fornendo un contesto come: {model: myModel};. Quindi nel tuo modello potresti fare qualcosa come <%= model.get("displayName") %>.