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而已…如果您找到一些简单的教程…请与我分享。我想这可能对你有帮助。