ne joue pas jQuery mobile bien avec jQuery-tmpl?
-
27-09-2019 - |
Question
Y at-il des raisons pour lesquelles le même modèle et JavaScript
<script id="taskTemplate" type="text/x-jquery-tmpl">
<li>${name}</li>
</script>
$.getJSON(url, function(data) {
$("#taskTemplate").tmpl(data).appendTo("#tasks");
});
fonctionnerait comme documenté avec le balisage jQTouch suivant:
<ul class="rounded" id="tasks"></ul>
mais le résultat dans le modèle se rendre à l'extérieur (après) la liste non ordonnée avec le balisage jquery mobile suivant?
<div data-role="content">
<ul data-role="listview" id="tasks"></ul>
</div><!-- /content -->
Je me rends compte est en version alpha jquery-mobile, mais il travaille bien à ce jour et je préfère ne pas passer à jQTouch à ce stade. Quelqu'un at-il vu ce comportement et a trouvé une solution de contournement?
La solution
Vous devez appeler la méthode de rafraîchissement de la listview une fois que votre templating est fait.
listview ( "rafraîchissement") $ ( "yourUl"). Lorsqu'on applique la méthode .page () n'a jamais été appelé, vous voudrez peut-être faire quelque chose comme ça.
try {
$(yourUl).listview("refresh");
} catch(e){
// Well, nothing to do there
}
Autres conseils
Ceci a été corrigé en alpha 2. Voir ici: http : //jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (défilement vers le bas pour "listes Mise à jour)
Il devrait ressembler à
$("#taskTemplate").tmpl(data).appendTo("#tasks").page();
vous avez besoin du .page () à la fin.