Cargando



Backbone.js - Obteniendo Modelos desde colección

En este tutorial veremos los métodos básicos para obtener los datos de un objeto que representa a un modelo dentro de una colección.


abr 27 2014 02:54
Profesional
abr 29 2014 11:25
Una vez que entendemos el concepto de colecciones dentro de Backbone.js seguramente nos queda en la mente la duda de cómo obtener un modelo que ya hemos almacenado en dicha colección, para ello tenemos métodos de uso bastante sencillo que Backbone.js pone a nuestra disposición para lograr obtener los datos que necesitamos.

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.

Importante
Generalmente cuando trabajamos en aplicaciones cliente servidor necesitamos identificar de forma única los modelos, así cuando intercambiamos datos tenemos una manera de especificar a quien va dirigido el flujo de datos.


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:

backbone_obt_modelos_coleccion.jpg


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X