javascript - template - backbonejs github
Backbone.js-id vs idAttribute vs cid (4)
¿Cuál es la conexión entre
id
,cid
eidAttribute
? ¿Cómo se afectan el uno al otro?
Tanto el cid como el id deben ser identificadores únicos para el modelo y se pueden usar para retrieve un modelo from una colección.
La diferencia entre los dos es que el cid
es asignado por el lado del cliente backbone.js y es útil si no tienes una identificación real, ya sea porque el modelo no se ha guardado aún en el servidor o quizás ni siquiera estás guardándolo en un db (quizás estés usando localStorage ). El atributo id
debe ser el id del modelo que proviene de su servidor (eso es lo que el id está en su db). idAttribute
le dice a la red troncal qué "campo" que viene de su servidor debería usar para actualizar el atributo de id
. Por defecto está configurado como "id", pero como dice en la documentation si su servidor usa algo más, puede configurarlo como tal (el ejemplo dado es configurarlo en "_id".
¿Cuándo exactamente un nuevo modelo obtiene su ID? ¿El servidor es responsable de asignarlo? ¿Debo agregarlo a los
defaults
del modelo (quizás como una función)? Tal vez la funciónaddNewModel
debería hacer eso?
Deben obtener las nuevas identificaciones cuando se guardan en el server y no debería tener que configurarlas manualmente (en función del idattribute
) a menos que necesite más control sobre el proceso.
Estuve estudiando Backbone.js durante algunas semanas, y me siento cómodo al usar vistas con modelos, enrutadores y colecciones.
Todavía tengo algunos grandes vacíos:
¿Cuál es la conexión entre
id
,cid
eidAttribute
? ¿Cómo se afectan el uno al otro?¿Cuándo exactamente un nuevo modelo obtiene su ID? ¿El servidor es responsable de asignarlo? ¿Debo agregarlo a los
defaults
del modelo (quizás como una función)? Tal vez la funciónaddNewModel
debería hacer eso?
La propiedad id
en un modelo se asigna automáticamente en función del id
establecido en los atributos de modelo hash. Idealmente, este es el ID que recibe de la API restante para el recurso que está consultando. Por otro lado, cid
es una ID asignada temporalmente a cada modelo y es útil hasta que se determine una ID real para el objeto. Por ejemplo, un modelo enviado a una colección que aún no se ha conservado se puede direccionar utilizando cid
, hasta que se guarde en la base de datos y se genere una ID real para él.
id - id que se puede establecer manualmente cuando se crea el modelo, o se rellena cuando el modelo se ha guardado en el servidor (ver "idAttribute" en la parte inferior para ver la conexión). Esta es la identificación que se envía al servidor cuando el modelo se carga o actualiza desde el servidor, por ejemplo, para un modelo de persona esta llamada se realizará si id es 123, "/ persona / 123"
cid - ID único establece mi modelo de red troncal para uso interno
idAttribute: esto decide qué propiedad actuará como ID único (el valor predeterminado es "id") cuando el modelo se haya guardado en el servidor, por ejemplo, la clave única de un modelo en el servidor podría definirse por "personId", de modo que cuando se llame fetch model mapeará la respuesta del servidor de "personId" a id en el modelo de red troncal.
id
es el id
modelo del servidor, cid
es la identificación del cliente.
- modelo de servidor: como Rails Model
- modelo de cliente: modelo de red troncal