Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2015, 05:45
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Backbone: Problemas sobrescribiendo Router.prototype.execute

Hola,

Llevo un rato asqueado con Backbone y los routers. El problema es que quiero sobrecargar el método execute para que el parámetro definido con asterisco en una ruta sea parseado como una querystring. Por ejemplo, con la ruta 'simulator/?a=b&c=d' debería hacer que el parámetro del callback tenga el objeto:
Código Javascript:
Ver original
  1. {
  2.     a: b,
  3.     c: d
  4. }

La cuestión es que haciendo una copia idéntica de lo que encuentro en la documentación de Backbone no logro obtener los resultados deseados. Así que pruebo de hacer algo más sencillo, Independientemente de la ruta, obligo a que el argumento que se pase sea siempre 'foo':
Código Javascript:
Ver original
  1. var Router = Backbone.Router.extend({
  2.     routes: {
  3.       'simulator/*queryString': 'simulator'
  4.     },
  5.     execute: function(callback, args) {
  6.       if (callback) callback.apply(this, ['foo']);
  7.     }
  8.   })

Y me encuentro que tampoco funciona, Backbone se pasa por el forro mi sobrescritura. Aquí os muestro el codigo colgado en plunker:
http://plnkr.co/edit/WnnDHyXML5YHU7XushuQ?p=info
y el resultado:
http://run.plnkr.co/plunks/WnnDHyXML5YHU7XushuQ

A ver que se me puede estar escapando. Porque me molesta mucho que copiando directamente código de la documentación la cosa no funcione.

Un saludo y gracias!
__________________
github.com/xgbuils | npm/xgbuils