我正在使用ui-router并声明。当用户在rootscope中登录时,我添加一个名为profile的变量并按下登录的详细信息。当我从UI更改状态,即单击链接rootscope.profile保持打开,但如果我直接更改url rootscope.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="/">
答案 0 :(得分:2)
这是单页面应用程序。当您直接更改网址时,它意味着您打开一个新的应用程序,因此未定义rootscope.profile。