0

我正在使用 ui-router 和状态。当用户登录 rootscope 时,我添加一个名为 profile 的变量并推送登录的详细信息。当我从 UI 更改状态时,即单击链接 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="/">
4

1 回答 1

2

这是单页应用程序。当您直接更改url时,意味着您打开了一个新应用程序,因此rootscope.profile是未定义的。

于 2015-11-05T07:40:22.023 回答