2016-05-19 2 views
2

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

В моих маршрутах настроены следующим образом:

'use strict'; 

/** 
* Initialize the router's default behaviors 
*/ 
// @ngInject 
function initRouter($urlRouterProvider: angular.ui.IUrlRouterProvider, 
        $stateProvider: angular.ui.IStateProvider): void { 

    $urlRouterProvider.otherwise('/main'); 

    $stateProvider 
     .state('app', { 
      abstract: true, 
      views: { 
       'header': { 
        templateUrl: '/angular/app/components/_header/headerView.html' 
       }, 
       'sidebar': { 
        templateUrl: '/angular/app/components/_sidebar/sidebarView.html' 
       } 
      } 
     }) 
     .state('app.home', { 
      url: '/main', 
      views: { 
       '[email protected]': { 
        templateUrl: '/angular/app/components/landing/landingView.html', 
        controller: 'LandingController', 
        controllerAs: 'vm' 
       } 
      } 
     }) 
     .state('app.settings', { 
     url: '/config', 
     views: { 
      '[email protected]': { 
       templateUrl: '/angular/app/components/settings/settingsView.html', 
       controller: 'settingsController', 
       controllerAs: 'vm' 
      } 
     } 
    }); 
} 

angular.module('app').config(initRouter); 

Так что, если я иду от app.home типа что-то в поле ввода затем перейти к app.settings, а затем вернуться к app.home Я хотел бы еще видеть, что то же самое в мой ввод

ответ

1

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