Quindi i modelli jQuery non andranno mai oltre il beta e jsRender e jsViews dovrebbero riempire il vuoto. Ho controllato gli esempi pubblicati da Boris Moore su this page ma non ho la differenza tra jsRender e jsViews. Inoltre Boris ne ha usato uno nell'esempio dell'altro per aggiungere confusione. Quindi la domanda è: in che modo due sono correlati (o diversi)?Differenza tra jsRender e jsViews
risposta
JsRender è il motore dei modelli. JsViews è il motore di associazione dei dati.
JsRender consente di eseguire il rendering HTML utilizzando un modello (HTML statico/CSS con token incorporati che vengono sostituiti con i dati). Supporta logica semplice, valori di rendering e funzioni personalizzate.
JsViews, che si basa su JsRender, aggiunge osservabilità a oggetti/proprietà. Questo ti permette di collegare i tuoi oggetti JSON a target HTML e ottenere il binding dei dati a 2 vie.
C'è di più per loro, ovviamente, ma questa è la risposta di 60 secondi. Questo aiuta?
jsRender è solo modelli, in cui jsViews è modelli, ma anche associazione dati. Quindi, se vuoi solo emettere dati da un oggetto, elenco o classe, allora dovresti usare jsRender. Quindi, rendere un modello. jsViews, sarebbe per l'associazione dei dati in tempo reale, tra molte altre meravigliose funzionalità. Quindi, se hai eseguito il rendering di un modello utilizzandolo e disponendo di un campo che contiene dati, quando lo hai modificato sul lato client, in realtà modifica l'oggetto da cui l'hai ottenuto.
Ad esempio, ecco un vero uso di questo piccolo frammento dal mio lavoro.
//this is the script that handles the template
<script id="questionResourceTemplate" type="text/x-jquery-tmpl">
<li class="default-{{:IsDefault}}">
<label data-link="visible{:!IsPageSpecific}" class="surv mleft5"><strong>{{:Type}}</strong></label>
<label data-link="visible{:IsPageSpecific}" class="surv mleft5"><input type="text" data-link="Type" /></label>
<a data-link="visible{:IsDefault}" href="#" action="deletequestionresource">Delete</a>
<br />
{^{for QuestionResourceTexts tmpl="#textTemplate" ~parentQuestionResource=#data ~textboxClass="textbox" /}}
</li>
</script>
E questo è dove viene utilizzato nel codice HTML
<ul class="question-resource-list">
{^{for QuestionResources tmpl="#questionResourceTemplate" ~parentQuestion=#data /}}
</ul>
Quindi, in ogni occorrenza di questo oggetto, rende il modello. Abbiamo anche funzioni di supporto qui. Puoi usarli per cose come restituire un valore booleano per un test e poi agire sui dati come un wrappper durante il tempo di binding. Speriamo che questo aiuti aggiungere alla risposta già perfetta risposta prima di questa risposta.
Dalla documentazione:
JsRender viene utilizzato per il rendering di modelli di stringhe, pronti per inserimento nel DOM.
Inoltre, viene utilizzato dalla piattaforma JsViews, che aggiunge l'associazione dati per modelli JsRender, e fornisce una piattaforma MVVM a tutti gli effetti per la creazione di facilmente applicazioni per singola pagina basate sui dati interattivi e siti web.
- 1. La differenza tra $ * e $ @
- 2. Differenza tra $ # e $ {# @}
- 3. Differenza tra. e #
- 4. MySQL: Differenza tra ",", "e"
- 5. Differenza tra "o" e "||"
- 6. Differenza tra unwrapObservable e()
- 7. Differenza tra oggetto e *?
- 8. Differenza tra "**/* /" e "** /"?
- 9. Differenza tra jquery e $
- 10. CMake: differenza tra $ {} e "$ {}"
- 11. Differenza tra ". +" E ". +?"
- 12. VBA: Differenza tra & e +
- 13. Differenza tra numpy.logical_and e &
- 14. Differenza tra | = e^= css
- 15. Differenza tra `% in%` e `` ==
- 16. jsrender if-else utilizzando {{= propName}}
- 17. JsViews come rendere possibile l'associazione dei dati sull'oggetto radice e le sue proprietà nidificate?
- 18. Differenza tra Dizionario e Hashtable
- 19. Differenza tra SCM e SVN
- 20. differenza tra RDLC e SSRS
- 21. Differenza tra REMOTE_HOST e REMOTE_ADDR
- 22. Differenza tra "\ n" e Environment.NewLine
- 23. Differenza tra QSharedPointer e QSharedDataPointer?
- 24. Differenza tra toFixed() e toPrecision()?
- 25. Differenza tra strncpy e memcpy?
- 26. Differenza tra crittografia e hashing
- 27. Differenza tra Assembly.CreateInstance e Activator.CreateInstance?
- 28. Differenza tra coredata e sqlite
- 29. Differenza tra Html.RenderAction e Html.Action
- 30. differenza tra System.out.printf e String.format
Questo certamente aiuta, puoi fornire un collegamento a una risposta più completa? –
Ecco un articolo che ho recentemente scritto su JsRender ... è appena uscito oggi su MSDN Magazine: http://msdn.microsoft.com/en-us/magazine/hh882454.aspx –
questa dovrebbe essere una risposta accettabile secondo me – Blowsie