Javascript - Как перенаправить на домашнюю страницу, если нажата кнопка «Назад» - PullRequest
0 голосов
/ 26 сентября 2018

Я проводил исследования и изучал различные решения, но, похоже, не могу найти то, что соответствует моим потребностям.У меня есть приложение AngularJS, которое вносит некоторые изменения в системах.Он имеет множество HTML-представлений для отображения изменений, их отправки и удаления, если что-то идет не так.Приложение работает так:

Page 1:  Login and get user input
Page 2:  Show changes that user is going to commit
Page 3:  Push changes
Page 4:  Show results
They have an option to remove changes if something does no look right.

Я пишу скрипты Python для выполнения изменений в системах и использую Flask для API.

Теперь моя проблема в том, что пользователь находится на странице 4 и нажимаеткнопка «Назад», она возвращает страницу «нажать изменения» и фактически начинает снова вводить одни и те же изменения.Можно ли как-то изменить его, чтобы, если на какой-либо странице пользователь нажимал кнопку «Назад» в браузере, он отправлял их обратно на домашнюю страницу?

Совместное использование кода не помогло, так как у меня много файлов с тоннамикода.Вот краткий обзор моих маршрутов и видов, которые могут сделать его немного понятным:

app.config(function($routeProvider) {
    $routeProvider
    .when("/", {
        templateUrl : "./views/userForm.htm",
        controller : "inputController"
    })
    .when("/checkChanges", {
        templateUrl : "./views/checkChanges.htm",
        controller : "checkChangesController"
    })
    .when("/pushChanges", {
        templateUrl : "./views/pushChanges.htm",
        controller : "pushChangesController"
    })
    .when("/results", {
        templateUrl : "./views/results.htm",
        controller : "resultsController"
    })
    .when("/remove", {
        templateUrl : "./views/remove.htm",
        controller : "removeController"
    })

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Попробуйте это;

 window.addEventListener('popstate', () => { //handler });
0 голосов
/ 26 сентября 2018

Вы можете добавить popstate слушатель для обработки событий нажатия пользователем кнопок «назад» или «вперед».

window.addEventListener('popstate', function() {
    $state.go(...); //go to your home state
});

ОБНОВЛЕНИЕ : как перенаправить в исходное состояние

Следующим фрагментом кода вы создаете компонент home, устанавливаете его HTML-шаблон, контроллер, а затем добавляете конфигурацию для сопоставления его с URL-адресом '/'.

var home = {
    templateUrl: './templates/home.html',
    controller: 'homeController'
};

angular
    .module('myApp')
    .component('home', home)
    .config(["$stateProvider", function($stateProvider){
        $stateProvider
            .state('home', {
                url: '/',
                component: 'home',
            });
    }]);

Затем в событиислушатель события popstate, у вас будет $state.go('home');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...