Maison interface Web js tutoriel JSON JQUERY模板实现说明_jquery

JSON JQUERY模板实现说明_jquery

May 16, 2016 pm 06:23 PM
jquery json 模板

可是在客户端再现数据也是一个不小的问题,用javascript处理经常会遇到很繁琐的事.尤其大批量具有相同结构的数据,例如表格,处理方式不尽如意.如果能有一个模板控件,就像服务器端asp.net Gridview或者repeater一样的东西就好很多.最近看到一个非常优秀的解决方案,让我在使用方便的同时不得不为作者的精巧设计而作一番感叹.该解决方案用了区区二十几行代码,实现了别人要用几十甚至上百K的js库所做的工作.它就是John Resig 的 Microtemplating engine.大师Rick Strahl有一篇文章专门对此作了详细讲述(Client Templating with Jquery).我在这里把最核心部分提取出来以方便国人学习。

下面一段程序就是microtemplating engine.

复制代码 代码如下:

var _tmplCache = {}
this.parseTemplate = function(str, data) {
///
/// Client side template parser that uses and expressions.
/// and # # code blocks for template expansion.
/// NOTE: chokes on single quotes in the document in some situations
/// use ’ for literals in text and avoid any single quote
/// attribute delimiters.
///

/// The text of the template to expand
///
/// Any data that is to be merged. Pass an object and
/// that object's properties are visible as variables.
///
///
var err = "";
try {
var func = _tmplCache[str];
if (!func) {
var strFunc =
"var p=[],print=function(){p.push.apply(p,arguments);};" +
"with(obj){p.push('" +

str.replace(/[\r\t\n]/g, " ")
.replace(/'(?=[^#]*#>)/g, "\t")
.split("'").join("\\'")
.split("\t").join("'")
.replace(//g, "',$1,'")
.split(".split("#>").join("p.push('")
+ "');}return p.join('');";

//alert(strFunc);
func = new Function("obj", strFunc);
_tmplCache[str] = func;
}
return func(data);
} catch (e) { err = e.message; }
return "";
}

如何使用:
复制代码 代码如下:
parseTemplate($("#ItemTemplate").html(),{ name: "rick", address: { street: "32 kaiea", city: "paia"} } );


上面程序所用的模板:
复制代码 代码如下:


如果想用循环:
复制代码 代码如下:
$.each(dataarray,function(index,dataItem){
parseTemplate($("#ItemTemplate").html(), dataItem );
})

很简单很精巧吧?
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON May 04, 2024 pm 06:15 PM

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent : l'utilisation d'extensions JSON et de la fonction json_encode() ; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères ; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers ; Bibliothèque d'encodage JSON.

Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? May 06, 2024 pm 10:09 PM

Les annotations dans la bibliothèque Jackson contrôlent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator : utilisez le constructeur @JsonDeserialize : logique personnalisée

Comment ajouter un masque PPT Comment ajouter un masque PPT Mar 20, 2024 pm 12:28 PM

Concernant le masquage PPT, beaucoup de gens ne doivent pas le connaître. La plupart des gens ne le comprennent pas complètement lorsqu'ils créent un PPT, mais l'inventent simplement pour créer ce qu'ils aiment. Par conséquent, beaucoup de gens ne savent pas ce que signifie le masquage PPT et ne le comprennent pas non plus. Je sais ce que fait ce masque, et je ne sais même pas s'il peut rendre l'image moins monotone. Amis qui veulent apprendre, venez apprendre et ajoutez des masques PPT à vos images PPT. Alors, comment ajouter un masque PPT ? S'il vous plaît lire ci-dessous. 1. Nous ouvrons d'abord PPT, sélectionnons une image vierge, puis cliquons avec le bouton droit sur [Définir le format d'arrière-plan] et sélectionnons une couleur unie. 2. Cliquez sur [Insérer], Word Art, entrez le mot 3. Cliquez sur [Insérer], cliquez sur [Forme]

Effets de la spécialisation des modèles C++ sur la surcharge et la réécriture des fonctions Effets de la spécialisation des modèles C++ sur la surcharge et la réécriture des fonctions Apr 20, 2024 am 09:09 AM

Les spécialisations de modèles C++ affectent la surcharge et la réécriture des fonctions : Surcharge de fonctions : les versions spécialisées peuvent fournir différentes implémentations d'un type spécifique, affectant ainsi les fonctions que le compilateur choisit d'appeler. Remplacement de fonction : la version spécialisée dans la classe dérivée remplacera la fonction modèle dans la classe de base, affectant le comportement de l'objet de classe dérivée lors de l'appel de la fonction.

Conseils rapides pour convertir des tableaux PHP en JSON Conseils rapides pour convertir des tableaux PHP en JSON May 03, 2024 pm 06:33 PM

Les tableaux PHP peuvent être convertis en chaînes JSON via la fonction json_encode() (par exemple : $json=json_encode($array);), et inversement, la fonction json_decode() peut être utilisée pour convertir du JSON en tableaux ($array= json_decode($json);) . D'autres conseils incluent d'éviter les conversions profondes, de spécifier des options personnalisées et d'utiliser des bibliothèques tierces.

Comparaison des modèles C++ et des génériques ? Comparaison des modèles C++ et des génériques ? Jun 04, 2024 pm 04:24 PM

La différence entre les modèles et les génériques en C++ : Modèles : définis au moment de la compilation, clairement typés, haute efficacité et petite taille de code. Génériques : typage à l'exécution, interface abstraite, offre flexibilité, faible efficacité.

Comment utiliser les fonctions PHP pour traiter les données JSON ? Comment utiliser les fonctions PHP pour traiter les données JSON ? May 04, 2024 pm 03:21 PM

PHP fournit les fonctions suivantes pour traiter les données JSON : Analyser les données JSON : utilisez json_decode() pour convertir une chaîne JSON en un tableau PHP. Créer des données JSON : utilisez json_encode() pour convertir un tableau ou un objet PHP en chaîne JSON. Obtenez des valeurs spécifiques des données JSON : utilisez les fonctions de tableau PHP pour accéder à des valeurs spécifiques, telles que des paires clé-valeur ou des éléments de tableau.

Quelles sont les applications courantes des modèles C++ dans le développement réel ? Quelles sont les applications courantes des modèles C++ dans le développement réel ? Jun 05, 2024 pm 05:09 PM

Les modèles C++ sont largement utilisés dans le développement réel, notamment les modèles de classes de conteneurs, les modèles d'algorithmes, les modèles de fonctions génériques et les modèles de métaprogrammation. Par exemple, un algorithme de tri générique peut trier des tableaux de différents types de données.

See all articles