J'ai commencé à utiliser jQuery Mobile et j'essaie de comprendre comment je dois gérer les clics et le passage des données. Par exemple, j'ai une liste d'éléments. Lorsque l'utilisateur clique dessus, je veux l'emmener sur une autre page de l'application qui est générée en fonction de l'identifiant de l'article sur lequel il a cliqué. Est-ce que je stocke l'ID de données dans un attribut data-* personnalisé et je lie un événement de clic à cet attribut pour pouvoir envoyer l'utilisateur vers l'autre page ? Est-ce qu'il y a une approche native ou une bibliothèque tierce que je devrais utiliser ? J'utilise un service REST, mais le backend sous-jacent est une application ASP.NET MVC, si cela fait une différence. Toute aide ou conseil serait grandement apprécié.
Réponses
Trop de publicités?J'ai utilisé Sencha Touch et non jQuery Mobile. Mais Sencha Touch fournit un bon support pour le routage, qui est le nom du problème que vous essayez de résoudre. Vous devez bien réfléchir à la question de savoir si vous souhaitez faire du routage côté client ou côté serveur. Sencha Touch prend en charge le côté client, ce qui est en train de devenir l'approche la plus populaire car elle se prête à un bon comportement hors ligne. jQuery Mobile a peut-être les caractéristiques suivantes routage imparfait d'après ce que j'ai lu, mais d'autres bibliothèques telles que Backbone peuvent combler les lacunes . Voir aussi Colonne vertébrale Thorax. La colonne vertébrale m'a été spécifiquement recommandée pour l'acheminement mobile. Ce site propose un correctif à jQuery pour améliorer le routage.
JQM le fait pour vous, il suffit de placer des liens dans vos éléments listview LI et JQM les rendra avec des flèches, et tirera le contenu via AJAX.
<ul data-role="listview">
<li><a href="http://stackoverflow.com/page?item=1">Item 1</a></li>
<li><a href="http://stackoverflow.com/page?item=2">Item 2</a></li>
</ul>
L'URL /page?item=1 devrait alors générer le contenu de la page pour cet élément :
<div data-role="page">
...
</div>