Esto es un ejemplo un tanto artificial, pero creo que hace entender el punto.Backbone.js - Cómo crear una colección que tenga propiedades enlazables
Digamos que tengo una colección de autos de la red troncal. Y para la colección, quiero una propiedad llamada isValid. Quiero que otros objetos puedan vincularse a isValid y activar una función cuando cambieValid. La propiedad collectionValid se cambiará según los modelos de una colección en conjunto.
Por ejemplo, si todas las puertas están bloqueadas en cada automóvil, entonces isValid debería cambiar a verdadero. Cuando isValid cambia, todas las funciones que están vinculadas al evento de cambio isValid deben activarse.
Mi pregunta es, ¿cómo puedo crear una colección que tenga propiedades enlazables que funcione de manera similar a las propiedades del modelo?
Este es el código que me gustaría que funcione.
var Car = Backbone.Model.extend({});
var Cars = Backbone.Collection.extend({
model: Car,
url: "Cars",
isValid: false, //Here's the property that I want bindable
//but do not know how to accomplish this.
});
var cars = new Cars();
//Call a function when cars.isValid changes
cars.bind("change:isValid", carsIsValidChanged, cars)
//Not sure if this what the function would look like
//but would need access to cars.isValid or just the car collection
function carsIsValidChanged(isValid){
console.log(isValid);
}
actualización
Ver mi solución completa como una respuesta a continuación.
Gracias por la respuesta. Creo que me has señalado en la dirección correcta. Apreciar la información que es válida debe crearse en inicializar. Cuando termine con mi solución de trabajo, la publicaré. –