Basculer entre les vues de la colonne vertébrale pour la navigation entre les pages - quel est le droit chemin?
J'ai pris la décision de changer mon application de routage à côté client plutôt que côté serveur. Cela signifie que j'ai besoin d'un moyen pour changer de vue dans et hors de la page que l'utilisateur navigue sur le site. La seule chose que j'ai pu trouver que des tentatives de ce document est de cet article: Comment faire pour changer de vue à l'aide de Backbone.js
Je vois comment cela pourrait fonctionner, mais je ne pense pas que est un bon moyen de le faire. Je veux garder mon point de vue - comme c'est le point de droit? Pour avoir des vues distinctes pour les distinguer des parties de votre application? Je pense avoir un gros "ContentView" et puis il suffit de tirer des trucs dans la re-rendu est un peu brut et ignore tous les frais de modularisation vous pouvez faire autrement.
Alors, quelle est la meilleure façon d'aller à ce sujet? Idéalement, je veux une fonction similaire à ce qui est documenté dans l'article mentionné ci-dessus, mais prend une épine dorsale vue comme argument.
Vous devez vous connecter pour publier un commentaire.
J'ai écrit quelques articles sur ce sujet:
http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/
et une autre, plus récente, prend l'idée de ce post et officialise les plus:
http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/
de ré-utiliser des points de vue est en fait un anti-modèle dans la plupart des cas. il y a souvent beaucoup de code supplémentaire et extra trucs impliqués dans la tenue à la vue des instances, à se ré-attacher eux-mêmes vers les DOM et poignée enregistré d'événements DOM correctement. En outre, vous courez le risque de fuites de mémoire (ce qui à mon premier article parle) et la destruction des performances de votre application en utilisant trop de mémoire.
Si votre point de vue à l'aide d'un "cher" de ressources, vous devez cache des ressources à l'extérieur de votre point de vue et re-utiliser. Votre point de vue doit être bon marché et rapides à créer, à les rendre, de les afficher et de les détruire.
this.delegateEvents()
à l'intérieur de la Vue#méthode render (), sinon, quelque chose commeevents:{"click .button": "doStuff"}
ne se déclenche pas après le point de vue est réaffichée.