tengo el siguiente modelo:Backbone.js cambio de parámetro url de un modelo y traen no actualiza datos captados
window.MyModel = Backbone.Model.extend({
initialize: function(props){
this.url = props.url;
}
parse: function(){
// @override- parsing data fetched from URL
}
});
// instantiate
var mod = new MyModel({url: 'some/url/here'});
puedo utilizar esta variable global 'mod' a buscar algunos datos en este modelo de back-end.
// fetch
mod.fetch({
success: function(){ ...},
error: ...
});
Todo lo anterior funciona bien .... mi problema: Quiero volver a utilizar este modelo, cambiando restablecer la URL y llamar a ir a buscar pero no actualiza la url de alguna manera. He intentado lo siguiente:
mod.fetch({
data: {url:'/some/other/url'},
postData: true,
success: function(){ //process data},
error: ...
});
mod.set({url: '/some/other/url'});
// called fetch() without data: and postData: attributes as mentioned in previous
¿Cómo se configura la dirección URL de mi modelo por lo que podría llamar fetch() y recupera los datos de URL actualizada? Me estoy perdiendo de algo. Gracias por cualquier punteros ..
ACTUALIZA 1: Básicamente, no estoy en condiciones de obtener valores actualizados si lo hiciera
model.set({url: 'new value'});
seguido por
model.fetch();
'modelo'
es una variable global . Creando una nueva instancia de 'modelo' funciona:
model = new Model({url:'/some/other/url'});
model.fetch();
Sin embargo, funciona como se requiere. ¿Esto significa que una instancia modelo está permanentemente unida a una url y no se puede restablecer?
respuesta a mi pregunta en ACTUALIZACIÓN 1 instancia modelo no está conectado permanentemente a una URL. Se puede restablecer dinámicamente. Lea la explicación detallada de @ tkone y luego la solución de @fguillens para una mejor comprensión.
por qué están cambiando la URL? la idea detrás de un servicio web REST es que su objeto siempre está disponible en la misma URL (con una ID como sea necesaria para un objeto específico) – tkone