J'écris une application qui est un «compteur de puissance» de sortes où je montre une liste de «lieux» dans la navigation qui ont une puissance nominale associée à eux, et une jauge qui agrège cette information. Les emplacements peuvent être imbriqués. Cliquer sur un emplacement change l'état de mon application et charge ses emplacements enfants dans la navigation. En cliquant en arrière, l'utilisateur se retrouve dans la liste des emplacements précédents.jQuery liaison de données avec vue
sondage Actuellement I pour les nouvelles puissances (se penchera sur une meilleure plus tard solution, mais c'est juste une preuve de concept) alors je régénérer mon point de vue de la navigation à l'aide d'un modèle et quelque chose de similaire à $(nav).html(someHtml)
J'utilise délégation d'événement, je n'ai donc pas besoin de relier les événements sur mes sites en cas de changement d'état. Donc, actuellement, je suis en train d'écraser la vue chaque fois que je reçois un nouvel ensemble de données. Je ne suis pas certain qu'il y ait des conséquences sur le rendement, mais il y a certainement des ramifications fonctionnelles. Par exemple, parfois ma liste d'emplacements dépasse mon espace de navigation, donc je défile (overflow:auto
). Lorsque je mets à jour la vue, elle réinitialise le scrollTop de ce div, ce qui le rend inutilisable pour quelqu'un qui fait défiler une longue liste d'emplacements. Donc, je cherche une solution qui me permet de lier réellement mes données JSON aux éléments dom pour chaque emplacement. Puis, quand je sondage, je peux $ .extend mes données existantes et l'ai automatiquement actualiser les valeurs dans ma vue. Est-ce possible? Je viens de trouver le plugin jquery-datalink
mais il semble réaliser que juste pour les formulaires, je n'ai pas de formulaires sur cette application.
Je ne l'ai jamais vraiment utilisé la méthode de données de jQuery, je ne sais même pas si c'est ce que je dois, mais au fond, je veux quelque chose comme ceci:
- Lorsqu'un emplacement est cliqué, déclencher un état modifier qui charge les nouvelles données et définit mon URL d'interrogation.
- chargement de données d'abord générera la vue (de nouveaux emplacements)
- charges de données suivantes (par vote) va simplement mettre à jour les éléments dom avec les données appropriées plutôt que de régénérer le code html
Je suis tout oreilles quant à certaines solutions possibles. Pseudo code et preuve de concepts sont les bienvenus car je suis pleinement capable de mettre en œuvre une solution théorique.
modifier points bonus pour son intégration avec une solution de votre choix templating (jQuery.tmpl ou moustache etc ...)
hmmm, à première vue, il ne dit rien sur les liaisons, mais peut-être me manque quelque chose. Par exemple dans le premier exemple, si je change d'utilisateur [0].nom de 'ben' à 'benjamin', le html est-il automatiquement mis à jour ou dois-je le rendre? – brad
vrai que vous auriez à le redécrire – mpapis