Предотвратить перезагрузку состояния при изменении состояний ui-router

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

У меня есть несколько компонентов, между которыми я маршрутизирую с помощью ui-router, и один из них представляет собой контактную форму, в которую, если пользователь вводит данные и переходит на другой маршрут, затем обратно в контактную форму, состояние перезагружается, а содержимое формы исчезает.

Я увидел другой способ сделать это имея родительское состояние и дочерние состояния, но не смог воссоздать это в своем коде.

Возможно, есть более простое решение с использованием ui-router-extras. с липкой опцией, хотя я пытался это сделать, и это тоже не сработало. Я опубликую код, как он работает сейчас.

(function () {
    angular.module('personalPortfolio')
        .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {

            $stateProvider
                .state('about', {
                    sticky: true,
                    url: '/about',
                    template: '<pg-about></pg-about>'
                })

                .state('development', {
                    sticky: true,
                    url: '/work',
                    template: '<pg-dev></pg-dev>'
                })

                .state('contact', {
                    sticky: true,
                    url: '/contact',
                    template: '<pg-contact></pg-contact>'
                });

            $urlRouterProvider.otherwise('/about');
        }]);
})();

person okayilltry    schedule 21.11.2016    source источник


Ответы (1)


Вы можете создать сервис, когда будете хранить несохраненные данные формы.

person sqars    schedule 21.11.2016
comment
Это будет работать, хотя это не совсем подходит, поскольку у меня также есть другая страница, которая извлекает некоторые данные, и я хочу, чтобы эти данные обновлялись только при полной перезагрузке с помощью кнопки браузера. - person okayilltry; 23.11.2016