当我直接从浏览器更改 url 时,rootscope 被重置
rootscope getting reset when i change url directly from browser
我正在使用 ui-路由器和状态。当用户登录 rootscope 时,我添加一个名为 profile 的变量并推送登录详细信息。当我从 UI 更改状态时,即单击 link rootscope.profile 保持打开状态,但如果我直接更改 url rootscope.profile 说未定义?具体原因可能是什么。
这是我的状态
$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="/">
这是单页Application.When你直接改url,就是打开一个新的应用,所以rootscope.profile是未定义的
我正在使用 ui-路由器和状态。当用户登录 rootscope 时,我添加一个名为 profile 的变量并推送登录详细信息。当我从 UI 更改状态时,即单击 link rootscope.profile 保持打开状态,但如果我直接更改 url rootscope.profile 说未定义?具体原因可能是什么。
这是我的状态
$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="/">
这是单页Application.When你直接改url,就是打开一个新的应用,所以rootscope.profile是未定义的