backbone.js изменяет параметр URL-адреса модели, и выборка не обновляет полученные данные

У меня есть следующая модель:

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'});

Я использую эту глобальную переменную 'mod' для извлечения некоторых данных в эту модель из бэкэнда.

 // fetch

 mod.fetch({
       success: function(){...},
       error:...

 });

Все вышеперечисленное работает хорошо.... Моя проблема :Я хочу повторно использовать эту модель, изменив сброс URL-адреса и выборку вызова, но она каким-то образом не обновляет URL-адрес. Я пробовал следующее:

  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

Как мне установить URL-адрес для моей модели, чтобы я мог вызывать fetch (), и он извлекал данные из обновленного URL-адреса? Я что-то упускаю. Спасибо за любые указания..

ОБНОВЛЕНИЕ 1:В основном,Я не могу получить обновленные значения, если я это сделал

    model.set({url: 'new value'}); 

затем

    model.fetch();

«модель» — это глобальная переменная. Создание нового экземпляра «модели» работает:

    model = new Model({url:'/some/other/url'}); 
    model.fetch();

однако работает как надо. Означает ли это, что экземпляр модели постоянно привязан к URL-адресу и его нельзя сбросить?

ОТВЕТ НА МОЙ ВОПРОС в ОБНОВЛЕНИИ 1 Экземпляр модели не привязан к URL-адресу на постоянной основе. Его можно сбросить динамически. Пожалуйста, прочитайте подробное объяснение @tkone, а затем решение @fguillens для лучшего понимания.

12
задан Vikram 30 July 2012 в 15:15
поделиться