J'utilise des modèles jquery pour générer une structure arborescente afin d'afficher une arborescence de sections et d'éléments.Modèles JQuery - trop de récursion
La structure des données se présente comme suit, où chaque section comporte des éléments et des sections et chaque élément peut avoir plusieurs sections:
section
items
item
sections
item
sections
sections
section
sections
items
...and so on
Mes modèles, puis appelez récursive les uns des autres:
<script id="my-item-tmpl" type="text/x-jquery-tmpl">
<li>
<span>${text}</span>
<ul>
{{each sections}}
{{tmpl($value) "sectionTmpl"}}
{{/each}}
</ul>
</li>
</script>
<script id="my-section-tmpl" type="text/x-jquery-tmpl">
<li>
<span>${text}</span>
<ul>
{{each items}}
{{tmpl($value) "itemTmpl"}}
{{/each}}
{{each sections}}
{{tmpl($value) "sectionTmpl"}}
{{/each}}
</ul>
</li>
</script>
$("#my-item-tmpl").template('itemTmpl');
$("#my-section-tmpl").template('sectionTmpl');
$.tmpl('sectionTmpl', { section }).appendTo(this);
I Je trouve cependant avec environ 4 niveaux dans la structure que je reçois une erreur "too much recursion
"dans ma console
Est-ce juste une limitation du jQuery Templa? te moteur?
Edit:
J'ai résolu en supprimant le {{each}}
et le remplacer par un appel {{tmpl}}
. Le {{each}}
n'était pas nécessaire. J'ai également enveloppé chaque {{tmpl}}
appel dans un {{if}}
pour assurer la collection existe.
Peut-être que c'est un avertissement que vous êtes sur le point d'obtenir une erreur de débordement de pile. –