Para obtener los datos de un objeto basado en un modelo vamos a depender de un campo identificador, ya sea que lo expresemos explícitamente con el nombre id o que nos lo ofrezca Backbone.js con el campo cid es decir cliente id.
Obteniendo los Modelos
Existen varias formas de obtener un modelo de una colección, la más directa es utilizando el método Collection.get(), dicho método acepta un valor id para poder identificar el objeto en específico que necesitamos.
En el siguiente ejemplo vamos a definir un modelo con un identificador, con ello podremos luego obtener su valor utilizando el método Collection.get().
Veamos el código y luego explicamos el proceso:
var Tarea = Backbone.Model.extend({ defaults: { titulo: '', completado: false } }); //Definimos nuestro modelo var TareasCollection = Backbone.Collection.extend({ model: Tarea, }); //definimos nuestra colección var miTarea = new Tarea({titulo: "ir de compras al super", id: 2}); //primero hemos construido un modelo y le hemos asignado un id var tareas = new TareasCollection([miTarea]); // luego hemos definido una colección pasando un array var tarea2 = tareas.get(2); //utilizamos el método get para obtener el contenido con el id 2 console.log(tarea2 === miTarea); //mostramos el contenido de lo que hemos obtenido
En primer lugar hemos definido nuestro modelo dando la estructura básica, de esta forma podremos crear un nuevo objeto luego en el código, acto siguiente creamos una colección y le decimos que debe utilizar el modelo como referencia para los objetos que contendrá.
Definimos nuestro objeto y adicionalmente al título le hemos agregado un campo id con valor 2, creamos una colección y le agregamos nuestro objeto en un array, en este punto si hubiésemos querido podríamos haber pasado más de un objeto.
Creamos una nueva variable y le decimos que le asigne el valor de lo que obtenemos de nuestra colección que tenga el id 2, aquí vemos que no le especificamos el campo id, simplemente le pasamos el valor 2, debido a que Backbone.js sabe automáticamente que debe buscar un campo id que contenga dicho valor.
Por último sencillamente hemos hecho una comparación de referencia donde preguntamos si el valor obtenido es igual al definido y esto nos retorna un true al ejecutar el código en la consola de Javascript en nuestro navegador Google Chrome, como vemos es muy sencillo.
Para finalizar este tutorial vemos en una imagen el resultado de nuestro ejercicio: