Боковое меню Appcelerator перенаправляет на другой экран, создавая несколько экранов

Я использую этот модуль бокового меню в своем приложении.

В боковом меню у меня есть такие опции, как «Домой», «Настройки» и т. Д. Когда я нажимаю «Настройки», он перенаправляется на страницу настроек. Теперь проблема заключается в том, что когда открывается страница настроек, я открываю боковое меню с помощью прокрутки и снова нажимаю на настройку, после чего снова открывается экран настроек на предыдущем. Это означает создание 2 экранов настроек. Если я повторю это снова, то он снова создаст установочный экран. Как мне предотвратить это?

Мой код для перенаправления экрана находится здесь

var win = Alloy.createController('Setting').getView();
window.closeOpenView();
$.navWindow.openWindow(win);

person Divyesh Savaliya    schedule 15.02.2016    source источник


Ответы (1)


Сохранить последнюю открытую страницу:

Добавьте это вне функции щелчка

var openWindow = '';

И это внутри функции щелчка

if (openWindow == 'Setting') return;

openWindow = 'Setting'
var win = Alloy.createController('Setting').getView();
window.closeOpenView();
$.navWindow.openWindow(win);

Это предполагает, что это находится в функции, что, я думаю, потому что это обработчик кликов. Если нет, заверните его в функцию

person Rene Pot    schedule 15.02.2016
comment
ну.. тогда видимо другой код тоже актуален. Потому что это предотвратит открытие окна настроек дважды - person Rene Pot; 15.02.2016
comment
конечно, openWindow = '' нужно поместить вне функции щелчка. Исправил в ответ - person Rene Pot; 15.02.2016