2013-03-11 2 views
0

Как я могу удалить вид основной линии с моего маршрутизатора? Я пытаюсь запустить проверку, которая говорит, если существует определенное представление, удалите ее. Я просто не могу понять синтаксис, чтобы это произошло.Удалить вид магистрали с маршрутизатора

Я пробовал:

if(typeof mysite.city != "undefined") 
{ 
    console.log(mysite.city.View.prototype.__proto__.remove); 

    //Calling this remove function throws the error 
    mysite.city.View.prototype.__proto__.remove(); 
} 

, но я получаю некоторые неперехваченное ошибку исключения, что я не могу полностью прочитать поскольку перезагрузки страницы принудительно. Мои выходы console.log: function() {this. $ El.remove(); return this} Я просто не знаю, как это сделать.

+0

Не можете ли вы его поймать и 'window.alert()' it, чтобы избежать перезагрузки страницы? –

+0

Нет, это на самом деле тоже не сработало, но сообщение: Тип Ошибка: Невозможно вызвать метод 'remove' of undefined. Я смог прочитать его после обновления несколько раз. –

ответ

0

Почему бы вам не позвонить прямо сейчас mysite.city.remove()? Я полагаю, вы не можете сделать это по какой-то странной причине (например: вы переопределили функцию remove и потеряли исходную функциональность, если это так, почему вы переопределили этот метод, если теперь вам нужно его назвать?). Если вы должны вызвать оригинальный метод remove от Backbone-х View, вы можете попробовать это:

View.prototype.remove.call(mysite.city); 

Это будет установить контекст функции remove к объекту mysite.city. В противном случае при выполнении функции remove так, как вы ее назвали, this будет неопределенным.

Смежные вопросы