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 не определен.