0

Я использую Dojo 1.10 для SPA. В приложении у меня есть представление, экземпляр dojox/app/view, который позволяет пользователю манипулировать данными, загружаемыми из модели. Вид имеет Назад кнопка, которая позволяет пользователю перейти на Главная screen.Dojo MVC: Как отменить просмотр перехода на ошибку данных

Обработчик кнопки Назад использует

 TransitionEvent({ 
      app: self.app, 
      target: evt, 
      transitionOptions: { 
       history: true, 
       params: {...}, 
       title: "ViewListView", 
       target: "ViewListView", 
       url: "#ViewListView" 
      }, 
      triggerEvent: evt 
     }).dispatch(); 

переход обратно в Home экрана.

В данном случае прецедент должен быть предупрежден перед переходом, если есть изменения несохраненных данных. Пользователю должны быть предоставлены варианты отменить изменения и перейти к переходу или отменить переход и остаться на одном и том же представлении, чтобы иметь возможность сохранять изменения.

Это может быть достигнуто в обработчике Назад кнопка, потому что переход запускается вручную и может быть предотвращен, если пользователь захочет сохранить изменения перед возвратом. Задача есть, когда пользователь нажимает кнопку назад, переход происходит внутренне и не может быть пойман, чтобы проверить, есть ли какие-либо изменения несохраненных данных и прекратить переход.

Я попытался using:

beforeDeactivate (NEXTVIEW, данные) вызывается до того, вид скрыт каждый раз, когда оно осуществляется переход из.

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

Благодарим за помощь.

ответ

0

Не рекомендуется устанавливать контроллер истории для поддержки проверки, чтобы избежать перехода, если есть несохраненные данные.