Estoy tratando de utilizar el método de 'encontrar' subrayado en una colección, pero no me da los resultados que yo esperaba:subrayado Método 'encontrar' en una colección Backbone
Tengo un modelo base sin valores predeterminados y una colección predeterminada. Los modelos de mi colección solo tienen dos atributos: tranId (un guid como cadena) y perform (una función para realizar).
Estoy tratando de encontrar el elemento de la colección que coincide con el tranId que lo paso ...
var tranId = "1a2b3c";
var found = _.find(myCollection, function(item){
return item.tranId === tranId;
});
encontrado siempre es indefinido, a pesar de que el depurador muestra que mi colección hace, de hecho, tiene un ítem en el que la transición coincide con mi variable. No puedo establecer un punto de interrupción en la declaración de devolución para ver a qué item.tranId equivale. También he intentado esto ...
var found = _.find(myCollection, function(item){
return item.get('tranId') === tranId;
});
Pero, lo mismo. 'encontrado' es siempre indefinido. ¿Qué estoy haciendo mal aquí?
Gracias, eso funcionó. ¿Por qué el método Underscore no funciona de la misma manera? También se debe notar que el tranId es una cadena, no un número. Entonces, el encasillado no es necesario. –
@JoelCDoyle si desea utilizar los métodos de subrayado directamente puede ser mejor utilizar myCollection.models porque es una matriz en bruto de sus modelos http://backbonejs.org/#Collection-models - el tipocast fue en caso de que hubiera problemas con la estricta comparación de tipos de datos. : D –
Cool. Muchas gracias! –