variable una tipos metodo investigacion independientes independiente hipotesis ejemplos dependientes dependiente clasificacion cientifico cientifica javascript backbone.js

javascript - una - Problema al hacer referencia a la variable en el método Collections.where dentro de la función render



variables de investigacion pdf (1)

Aunque no está documentado explícitamente, Collection#where usa igualdad estricta ( === ) cuando se busca. Del buen código fuente :

where: function(attrs, first) { if (_.isEmpty(attrs)) return first ? void 0 : []; return this[first ? ''find'' : ''filter''](function(model) { for (var key in attrs) { if (attrs[key] !== model.get(key)) return false; } return true; }); },

observe el attrs[key] !== model.get(key) dentro de la función de devolución de llamada, que no considerará 10 (un valor probable de id ) y ''10'' (un valor de búsqueda probable extraído de una <input> ) para ser un partido. Eso significa que:

customers.where({musketeerId: 10});

podría encontrar algo mientras que:

customers.where({musketeerId: ''10''});

acostumbrado.

Puede sortear este tipo de cosas con parseInt :

// Way off where you extract values from the `<input>`... options.id = parseInt($input.val(), 10);

Me he encontrado con un problema con un código de red troncal. El código a continuación se refiere a una función de renderizado. Puedo recuperar todos los modelos. Mi problema surge cuando trato de utilizar el método "Collections.where" en la línea marcada número # 1. Como puede ver, he pasado un literal de objeto a la función de renderizado, pero por alguna razón no puedo hacer referencia al método customers.where en la línea n.º 1. Cuando le doy a este método un número literal como 45, funciona. ¿Hay alguna forma de evitar esto para poder pasar la referencia de variable en?

Muchas gracias

render: function(options) { var that = this; if (options.id) { var customers = new Customers(); customers.fetch({ success: function (customers) { /* #1 --> */ var musketeers = customers.where({musketeerId: options.id}); console.log(musketeers.length) //doesn''t work as options.id is failing on last line var template = _.template($(''#customer-list-template'').html(), { customers: customers.models }); that.$el.html(template); console.log(customers.models); } }); } else { var template = _.template($(''#customer-list-template'').html(), {}); that.$el.html(template); } }