Heim > Web-Frontend > js-Tutorial > Hauptteil

Beispiel für die Verwendung von jQuery .tmpl() Einführung_jquery

WBOY
Freigeben: 2016-05-16 16:38:58
Original
1198 Leute haben es durchsucht

Das dynamische Anfordern von Daten zum Aktualisieren der Seite ist heutzutage eine sehr verbreitete Methode, wie z. B. das dynamische Laden von Blog-Kommentaren durch Paging, das rollierende Laden und das geplante Laden von Anfragen von Weibo usw.

In diesen Fällen sind die von der dynamischen Anfrage zurückgegebenen Daten normalerweise entweder assembliertes HTML, JSON oder XML. Kurz gesagt, die Daten werden nicht auf der Browserseite, sondern auf der Serverseite assembliert. Allerdings ist die Rückgabe von HTML im Hinblick auf das Übertragungsvolumen nicht kosteneffektiv, und im Hinblick auf die Webübertragung wird JSON mittlerweile häufiger verwendet als XML.

Ein sehr problematischer Teil beim Generieren von HTML basierend auf JSON auf der Browserseite besteht darin, dass es in Ordnung ist, wenn die Struktur nicht komplex ist, aber sobald die Struktur kompliziert ist, wird es zu einem Albtraum. Sie müssen beim Schreiben von JavaScript sehr vorsichtig sein Code, der fast unmöglich zu warten ist.

So wie Smarty-Vorlagen verwendet werden, um das Problem der Datenbuchstabierung in PHP zu lösen, kann auch JavaScript Vorlagen verwenden, um diese Probleme zu lösen. Beispielsweise wurde jquery.tmpl, das auf jQuery basiert, jetzt als offizielles Vorlagen-Plug-in akzeptiert. Die detaillierte API befindet sich in den Vorlagen von jQuery und die integrierte Demo demonstriert auch verschiedene Verwendungsmöglichkeiten.

Bei meinen eigenen Anwendungen fühle ich mich sehr wohl. Ich verwende eine intuitivere HTML-Schreibmethode anstelle von JavaScript und verwende dann JSON-Variablen, um die Daten einzugeben. Der Code sieht viel besser aus.

Tmpl bietet mehrere Tags:

${}: Entspricht {{=}}, ist eine Ausgabevariable und hat die HTML-Codierung bestanden.
{{html}}: Ausgabevariable HTML, jedoch ohne HTML-Codierung, geeignet für die Ausgabe von HTML-Code.
{{if }} {{else}}: Stellt Verzweigungslogik bereit.
{{each}}: Stellt Schleifenlogik und $value-Zugriff auf Iterationsvariablen bereit.

So verwenden Sie jquery tmpl:

Vorlagendefinition:

Methode 1:

<script id="movieTemplate" type="text/x-jquery-tmpl"> 
<li> 
<b>${Name}</b> (${ReleaseYear}) 
</li> 
</script>
Nach dem Login kopieren

Methode 2:

function makeTemplate(){ 
var markup='<li><b>${Name}</b> (${ReleaseYear})</li>‘; 
$.template(“movieTemplate”, markup); 
}
Nach dem Login kopieren

DATEN:

var movies = [ 
{ Name: "The Red Violin", ReleaseYear: "1998" }, 
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" }, 
{ Name: "The Inheritance", ReleaseYear: "1976" } 
];
Nach dem Login kopieren

Skript:

$( "#movieTemplate" ).tmpl( movies ) 
.appendTo( "#movieList" );
Nach dem Login kopieren

Beispiel 1:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> 
</head> 
<body> 

<ul class="param-list"></ul> 

<script type="text/x-jquery-tmpl" id="new-param-tmpl"> 
<li rel="${num}"> 
<input type="text" name="key[${num}]" value="${key}" placeholder="key" /> = 
<input type="text" name="value[${num}]" value="${value}" placeholder="value" /> 
<button type="button" class="button small remove-param"><img src="http://mediacdn.disqus.com/1338845651/images/v3/icon/16/69.png" height="12" alt=""/></button> 
<button type="button" class="button small add-param"><span><img src="http://mediacdn.disqus.com/1338845651/images/v3/icon/16/13.png" height="12" alt=""/></button> 
</li> 
</script> 

<script> 
$(function(){ 
function addParam(key, value) { 
var param_list = $('.param-list'); 
var num = param_list.find('li').length; 

// build a template to clone the current row 
var built = $('#new-param-tmpl').tmpl({ 
num: num, 
key: key || '', 
value: value || '', 
}); 
if (key) param_list.prepend(built); 
else param_list.append(built); 

param_list.find('li:not(:last) .add-param').hide(); 
param_list.find('li:last .add-param').show(); 
param_list.find('li:not(:last) .remove-param').show(); 
param_list.find('li:last .remove-param').hide(); 
} 

// bind events 
$('.param-list .remove-param').live('click', function(){ 
$(this).parent().remove(); 
return false; 
}); 
$('.param-list .add-param').live('click', function(){ 
addParam(); 
return false; 
}); 

addParam(); 
})
</script> 
</body> 
</html>
Nach dem Login kopieren

Beispiel 2

    Nach dem Login kopieren
    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!