освобождая детей от позвоночника - PullRequest
0 голосов
/ 08 марта 2012

У меня есть основной календарь, и у каждого дня есть куча вариантов. Пользователь видит только один день за раз.

Поэтому, когда пользователь выбирает перейти на следующий или предыдущий день, я вызываю MyApp.Views.ShowDay, чтобы перерисовать день.

представление ShowDay вызывает несколько подвидов MyApp.Views.Hours. Мне нужно отвязать часы от старого дня, когда я создаю новый день, но это не вызывает ничего, кроме ошибок.

Я пытаюсь это сделать

MyApp.Views.Showday = Backbone.View.extend({
    events: {
             "click div.change_day":"change_day"
    },

    change_day: function(){
      MyApp.Views.Hours.unbind(); //I've tried off(), off, remove() as well

    }

});

Разве это не способ развязать детей?

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Вам необходимо явно отсоединить обработчики событий от события.Посмотрите этот ответ на другой вопрос SO, обратив особое внимание на функции bindTo и unbindFromAll:

Backbone.js: повторно заполнить или заново создать представление?

0 голосов
/ 09 марта 2012

Попробуйте MyApp.Views.Hours.remove (). Это удаляет представление и его элементы из dom и разрушает любые обработчики событий в процессе. Затем воссоздайте представление часов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...