47 votes

Backbone.js - id vs idAttribute vs cid

J'ai étudié Backbone.js pendant quelques semaines, et je me sens à l'aise à l'aide de vues avec des modèles, des routeurs et des collections.

J'ai encore un peu de gros écarts:

  1. Quel est le lien entre id, cid, et idAttribute? Comment affectent-ils les uns des autres?

  2. Quand un nouveau modèle d'obtenir son ID? Le serveur est responsable de l'attribution d'elle? Dois-je l'ajouter à l' defaults du modèle (peut-être comme une fonction)? Peut-être l' addNewModel fonction doit le faire?

59voto

Jack Points 6960

quel est le lien entre l'ID, CID et idAttribute ? comment font-ils influencer les uns les autres?

À la fois le cid et l'id doit être unique id pour le modèle, et peut être utilisé pour récupérer un modèle à partir d' une collection.

La différence entre les deux est que l' cid est affectée par backbone.js côté client, et est utile si vous ne disposez pas d'un id correspondant, soit parce que le modèle n'a pas encore été enregistrée sur le serveur ou peut-être vous n'êtes pas à même de les enregistrer dans une base de données (peut-être à l'aide de votre localStorage). L' id attribut doit être l'id du modèle qui vient de votre serveur (c'est ce que l'id est dans votre base de données). idAttribute dit épine dorsale qui "champ" à venir à partir de votre serveur, il doit utiliser pour mettre à jour l' id d'attribut, par défaut elle est réglée sur "id", mais comme il est dit dans la documentation si votre serveur utilise autre chose, vous pouvez le configurer pour que (l'exemple donné est le paramètre "_id".

quand exactement faire un nouveau modèle obtient son ID ? c'est que le serveur de l'affecter? ai-je besoin de l'écrire dans les "paramètres par défaut" du Modèle (peut-être comme une fonction?) ? peut-être que le "addNewModel fonction doit le faire?

Ils devraient obtenir la nouvelle carte d'identité est alors enregistré sur le serveur et vous ne devriez pas avoir à régler manuellement (basé sur l' idattribute), sauf si vous avez besoin de plus de contrôle sur le processus.

7voto

3coins Points 520

id - id qui peut être réglée manuellement lorsque le modèle est créé, ou est remplie lorsque le modèle a été enregistré sur le serveur (voir "idAttribute" en bas pour voir le lien). C'est l'id qui est envoyé au serveur lorsque le modèle est chargé ou mis à jour à partir du serveur par exemple, pour un modèle de Personne cet appel ne sera effectué si l'id est de 123, "/personne/123"

un cid unique identifiant de mon épine dorsale de modèle pour une utilisation interne

idAttribute - ce qui décide de la propriété d'agir comme l'identifiant unique (par défaut est "id") lorsque le modèle a été enregistré sur le serveur par exemple, un modèle unique de la clé sur le serveur pourrait être défini par "personId", de sorte que lors de l'extraction est appelé modèle de carte de la réponse du serveur à partir de "personId" id dans la colonne vertébrale modèle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X