2012-09-02 20 views
6

Estoy bastante confundido por las diferencias entre los dos. Parece que Collection.create() (desencadena los eventos add y sync) se puede ver como la combinación de Collection.add() (dispara add) y Model.save() (dispara sync)?Backbone - Diferencia entre Collection.add()/Collection.create()?

¿Es correcta la evaluación anterior? ¿Qué me estoy perdiendo?

Respuesta

10

Correcto. Es un método abreviado. Documentation states:

crearcollection.create(attributes, [options])

conveniencia de crear una nueva instancia de un modelo dentro de una colección. Equivalente a instanciando un modelo con un hash de atributos, guardando el modelo en servidor y agregando el modelo al conjunto después de haber sido creado con éxito .

Y annotated source code:

crear una nueva instancia de un modelo en esta colección. Agregue el modelo a la colección inmediatamente, a menos que wait: true se pase, en cuyo caso esperamos que el servidor lo acepte.

Esta segunda descripción es un poco más preciso, ya que sólo pasa {wait:true} tiene el efecto de no adición de un modelo a la colección en caso de errores al guardar el modelo.

+0

¿Se ha creado la instancia del modelo agregado a la colección del lado del cliente si y solo si la adición del lado del servidor ha sido exitosa? –