Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 设置$rootScope&;改变它的价值_Angularjs_Rootscope - Fatal编程技术网

Angularjs 设置$rootScope&;改变它的价值

Angularjs 设置$rootScope&;改变它的价值,angularjs,rootscope,Angularjs,Rootscope,我想将$rootScope变量stateSelection值默认设置为false 因此,当我的应用程序运行$rootScope.stateSelection的值时,它将是false。我想知道如何在应用程序初始化时设置它 现在我正在login功能的Auth服务中设置它 当用户登录并选择一个状态时,我在名为clickSelection()的控制器中调用一个方法&在此函数中,我更改$rootScope.stateSelection=true 刷新页面时出现问题,$rootScope.stateSele

我想将
$rootScope
变量
stateSelection
值默认设置为
false

因此,当我的应用程序运行
$rootScope.stateSelection
的值时,它将是
false
。我想知道如何在应用程序初始化时设置它

现在我正在
login
功能的
Auth
服务中设置它

当用户登录并选择一个状态时,我在名为
clickSelection()
的控制器中调用一个方法&在此函数中,我更改
$rootScope.stateSelection=true

刷新页面时出现问题,
$rootScope.stateSelection
的值变为
false


谢谢,

$rootScope.stateSelection在刷新时将始终为false,除非您将值持久化到某个位置

如果要将数据持久化到某个位置,可以使用resolve属性(阅读有关resolves的更多信息)返回一个函数,该函数将在加载页面之前设置值:

$stateProvider
  .state('home', {
    url: '/home',
    templateUrl : 'views/home.html',
    controller : 'HomeController',
    resolve : {
      authenticate : function auth(authService){
         // Function to get the stateSelection value
         return authService.getStateSelection()
      }
    }
  }

还有别的办法吗。如果我可以全局设置某个值并在控制器中更改它。@Anup即使全局设置了某个值,如果没有任何持久性,变量也会在页面刷新时重置。如果您不想与服务器交互,可以选择使用localstorage进行持久化,您可以在此处了解更多信息:您尝试过使用Cookie吗?还没有…我只是在寻找Cookie而已…如果您找到一些简单的教程…请与我分享。我想这可能对你有帮助。