Je suis nouveau sur le backbone et j'essaie ma première application après avoir parcouru quelques applications tutorielles.Backbone.js restes de routes personnalisées
Je me demandais quelle est la meilleure façon d'atteindre les objectifs suivants
Sur le back-end (rails)
J'ai un nom de modèle d'affaires, il est un modèle complexe avec beaucoup d'attributs, il a une adresse associée (has_one :address
) et a un avatar et un autre profil pitcure et beaucoup plus. De mon interface, je veux être en mesure d'extraire et de mettre à jour des parties spécifiques du profil de l'entreprise, Disons que je veux seulement aller chercher le basic_info qui inclut le nom, la catégorie et l'adresse que je veux pouvoir mettre à jour l'image de profil et l'avatar.
Ce que j'ai vu dans le squelette est que le modèle a les méthodes sauvegarder, mettre à jour, chercher, détruire
Et si je veux avoir d'autres méthodes comme fetch_basic_info
, fetch_profile_picture
, update_profile_picture
? et contre ceux-ci je veux que les vues associées soient notifiées en conséquence.
Voici ce que je suis venu avec
Disons que je veux aller chercher l'information de base
ajouter une fonction
fetch_basci_info
au modèle fédérateur- dans cette fonction envoyer un requête ajax personnalisée utilisant
$.ajax
au serveur - déclencher manuellement l'événement
"basicinfo:fetched"
- dans cette fonction envoyer un requête ajax personnalisée utilisant
dans ma fonction routeur
- créer un objet modèle
- créer une nouvelle vue permet de dire
BasicInfoView
et le transmettre l'objet modèle - dans la vue liez un même du modèle permet dire
model.bind('basicinfo:fetched', this.render)
- lorsque le routeur est initialisé, appelez
model.fetch_basic_info
(dans le routeur init)
Ainsi, le routeur est appelé il crée vue lie un événement personnalisé et appelle la demande model.fetch_basic_info()
est envoyée à la réponse du serveur est retourné (dois-je appeler régler manuellement pour définir les attributs du modèle de colonne vertébrale ici). Après que l'événement d'événement personnalisé est déclenché, la vue est notifiée et elle se rend elle
Ceci est ma première vraie application de backbone donc si je fais quelque chose vraiment à l'écart, arrêtez-moi.
Que pensez-vous de cela?
Merci d'avoir lu et feedbcak.
tomber en panne est une bonne idée, mais ne vais-je pas écrire mon backend pour soutenir ces modèles? – Abid
Pas plus qu'avec votre approche, je pense. Comment alliez-vous gérer vos méthodes de recherche séparées, etc. fetch_basic_info, fetch_profile_picture – lecstor
Considérer @ reach4thelasers aussi. Si vous pouvez avoir un seul modèle et que chacun de vos points de vue peut modifier tout ce dont il a besoin et le sauvegarder, les choses seront beaucoup plus simples à la fois dans le client et dans le backend. Vous pouvez toujours optimiser plus tard si vous avez la chance d'en avoir besoin. – lecstor