Я запускаю магистральный скрипт, в котором я могу переходить назад и вперед между представлениями. Использование кнопок «Далее» и «Предыдущий» с простым скриптом навигации по маршрутизатору.
С точки зрения шага 1 я использую этот скрипт для перехода на следующую страницу:
nextStep: function() {
//get referrerTypes
OF.getReferrerTypes();
OF.getClinics();
OF.router.navigate('step/2', {trigger: true});
}
Теперь вот моя проблема. Когда я перехожу к шагу/2 и возвращаюсь к шагу/1 (также router.navigate), каким-то образом функции на шаге/1 загружаются дважды.
Поэтому, когда я перехожу к шагу/2 во второй раз, функция выполняет функцию nextStep дважды. Или, когда я возвращаюсь назад и вперед во второй раз, он запускает функцию nextStep трижды.
Я попытался исправить это, выполнив step1view.remove в маршрутизаторе. Я даже сделал удаление. Однако это совсем не помогает.
Вот скрипт в роутере, который загружает вид
goToStep1: function() {
require(['./models/step1Model', './views/step1View'],function(Step1Model, Step1View) {
if (step1View) {
step1View.remove();
delete step1View;
}
step1View = new Step1View;
step1View.render();
});
}
Кто-нибудь может помочь здесь? Мне действительно нужно запустить функции только один раз.
Заранее спасибо!