Вызов undelegate внутри делегата

Я слушаю $.route.delegate('someparam', ...) на основной части jsmvc, когда он запускается, я решаю, какой контроллер загрузить, и удаляю старый контроллер (если есть), проблему, которую я также использую $.route.delegate('some-other-param') в контроллерах, проблема в том, что когда контроллер уничтожается, он пытается $.router.undelegate('some-other-param'), что вызывает ошибку:

    **delegate is undefined:**
file: delegate.js
73:    if(event.batchNum && delegate.batchNum === event.batchNum){

Итак, насколько я могу видеть в коде, проблема в том, что я вызываю неделегирование внутри цикла for, который запрашивает делегатов.

// for each delegate
            for(var i =0; i < len; i++){

Есть ли способ избежать этой проблемы?

1 ответ

Решение

Я не мог найти способ сделать это, в конце концов я использовал bind для "someparam" (который является внешним слушателем) и делегировал для "some-other-param", который является внутренним.

Это обходной путь для удаления неопределенной ошибки.

Другие вопросы по тегам