J'étudie Backbone.js depuis quelques semaines et je me sens à l'aise d'utiliser des vues avec des modèles, des routeurs et des collections.
J'ai encore de gros manques:
Quel est le lien entre id
, cid
et idAttribute
? Comment s’affectent-ils les uns les autres?
Quand exactement un nouveau modèle obtient-il son identifiant? Le serveur est-il responsable de l'attribution? Dois-je l'ajouter à la defaults
du modèle (peut-être en tant que fonction)? Peut-être que la fonction addNewModel
devrait le faire?
Quel est le lien entre
id
,cid
etidAttribute
? Comment s’affectent-ils les uns les autres?
Les cid _ et id doivent être des identifiants uniques pour le modèle et peuvent être utilisés pour récupérer un modèle de _ une collection.
La différence entre les deux réside dans le fait que la variable cid
est affectée par le côté client backbone.js et est utile si vous ne possédez pas d'identifiant, soit parce que le modèle n'a pas encore été enregistré sur le serveur, soit peut-être même pas. en le sauvegardant sur une base de données (vous utilisez peut-être localStorage ). L'attribut id
doit être l'id du modèle provenant de votre serveur (c'est l'id de votre base de données). idAttribute
indique au réseau principal quel "champ" provenant de votre serveur il doit utiliser pour mettre à jour l'attribut id
; par défaut, il est défini sur "id" mais comme indiqué dans la documentation si votre serveur utilise autre chose, vous pouvez définissez-le sur cela (l'exemple donné est défini sur "_id".
Quand exactement un nouveau modèle obtient-il son identifiant? Le serveur est-il responsable de l'attribution? Dois-je l'ajouter à la
defaults
du modèle (peut-être en tant que fonction)? Peut-être que la fonctionaddNewModel
devrait le faire?
Ils devraient obtenir le nouvel identifiant lorsqu’ils sont enregistrés sur le serveur et vous ne devriez pas avoir à le définir manuellement (en fonction de la idattribute
) à moins que vous n’ayez besoin de plus de contrôle sur le processus.
id - id pouvant être défini manuellement lors de la création du modèle ou renseigné lorsque le modèle a été enregistré sur le serveur (voir "idAttribute" en bas pour voir la connexion). Il s'agit de l'identifiant envoyé au serveur lorsque le modèle est chargé ou mis à jour à partir du serveur, par exemple pour une personne modèle, cet appel sera effectué si l'ID est 123, "/ person/123".
cid - identifiant unique définir mon modèle de colonne vertébrale pour un usage interne
idAttribute - détermine la propriété qui servira d'identifiant unique (la valeur par défaut est "id") lorsque le modèle a été enregistré sur le serveur. Par exemple, la clé unique d'un modèle sur le serveur peut être définie par "personId". model mappera la réponse du serveur de "personId" à id dans le modèle de réseau principal.
id
est l'ID du modèle de serveur, cid
est l'ID du client.
La propriété id
sur un modèle est automatiquement attribuée en fonction de la valeur id
définie dans le hachage des attributs du modèle. Idéalement, il s'agit de l'ID que vous recevez de l'API restante pour la ressource que vous interrogez. Par ailleurs, cid
est un identifiant attribué temporairement à chaque modèle et est utile jusqu'à ce qu'un identifiant réel soit déterminé pour l'objet. Par exemple, un modèle inséré dans une collection qui n'a pas encore été conservée peut être traité à l'aide de cid
, jusqu'à ce qu'il soit enregistré dans la base de données et qu'un identifiant réel soit généré.