rootScope получает сброс, когда я меняю URL прямо из браузера

Я использую UI-роутер и состояния. Когда пользователь входит в систему в rootcope, я добавляю переменную с именем profile и добавляю данные для входа. Когда я изменяю состояние из пользовательского интерфейса, то есть нажатие на ссылку rootscope.profile остается, но если я изменяю URL-адрес непосредственно, rootcope.profile говорит undefined? Что может быть точной причиной.

Вот мое состояние

 $stateProvider
    .state('root', {
      abstract : true,
      views : {
          '' : {templateUrl : "views/home/root.html"},
          'topbar@root' : {
              templateUrl: "views/menu/topbar.html",
              controller: "TopBarCtrl"                
          },
          'menu@root' : {
              templateUrl: "views/menu/nav.html",
              controller: "NavCtrl"                
          },
          'footer@root' : {
              templateUrl: "views/footer/footer.html",
              controller: "FooterCtrl"                
          } 
      }      
    })
    .state('mypage', {
      parent : 'root',
      url: "/mypage",
      templateUrl: "views/mypage/mypage.html",
      controller: "mypageCtrl",
      data : {
          authorizedRoles : [mypage_ROLES.PUBLIC]
      }

    }).config(function($locationProvider){
    $locationProvider.html5Mode(true).hashPrefix('!');
});

Вот мои настройки сервера nginx

 server {
        listen 8000;
        root C:/xampp/htdocs/myapp/myapp/app;
        index index.html index.htm;
        server_name localhost;
        location / {
           try_files $uri /index.html;

        }
        }

В моем index.html у меня есть как

<base href="/">

1 ответ

Решение

Это одностраничное приложение. Когда вы изменяете URL-адрес напрямую, это означает, что вы открываете новое приложение, поэтому rootcope.profile не определен.

Другие вопросы по тегам