Backbone.js - Où pour définir les aides de vue?
J'ai été des coups de pied les pneus de Backbone.js et avoir un jeu autour de ces dernières semaines, donc un peu d'une question de noob...
Quelle est la "bonne" façon de définir et d'utiliser des aides de vue en backbone.js?
Aussi loin que je peux travailler, le seul véritable lieu de définir les aides à utiliser dans les templates de votre site est sur le modèle ou la collection elle-même. Toutefois, lorsque cette aide est directement retour HTML, cela commence à sentir un peu sale.
Est-il un meilleur moyen?
Vous devez vous connecter pour publier un commentaire.
Il y a peu d'endroits différents que j'ai mis des aides de vue avec Backbone.js:
Si l'aide est spécifique à un certain point de vue, le mettre à droite dans la définition de la vue:
Si l'aide sera utilisée par tous les points de vue, d'étendre l'épine Dorsale de Vue de classe, de sorte que tous les points de vue hériter de cette fonction:
Si vous avez besoin de plus complexes de partage des aides entre les points de vue, ont la vue s'étend sur les uns des autres:
Je ne suis pas sûr de ce qui est la meilleure pratique (ou, si ce n'est une meilleure pratique établie), mais ces modèles semblent assez propre et fonctionne bien.
this
dansextend
ne fonctionne pas pour moi, maisthis.__proto__
a fait un travail. Ne devrait pas__proto__
méthodes de travail avecthis
? Par exemplethis.myMethod()
par opposition àthis.__proto__.myMethod()
. Pour moi, les dernières œuvres, mais l'ancien échoue.Que vous construisez plus grande épine Dorsale des applications, vous aurez probablement envie de tout l'espace de noms. Ensuite, vous aurez une place pour le mondial aides. Je n'ai pas fait le parfait espace de noms configuration encore. Mais pour l'instant je suis en train de faire quelque chose comme ceci:
Mon point de vue, les classes de ressembler à quelque chose comme ceci:
Mon contrôleur est l'objet qui instancie de nouveaux points de vue (et des lieux de référence dans
currentView
. Pensez à toujours enlever votre dernière vue de sorte que le point de vue précédent les événements de tous les obtenir unbinded et votre de réduire l'utilisation de la mémoire.Solution rapide (CoffeeScript)
Ensuite, vous pouvez l'utiliser à votre avis: