Angularjs 在Angular.js中更改位置时重置$rootScope属性
在我的应用程序中,我有一个名为$rootScope.currentStatus的$rootScope属性,用于在某些情况下在body上设置css类 问题是,每当用户离开当前页面时,我都需要将该值重置为默认值,但我不知道在哪里可以截获位置更改。目前我使用$routeProvider:Angularjs 在Angular.js中更改位置时重置$rootScope属性,angularjs,angularjs-scope,Angularjs,Angularjs Scope,在我的应用程序中,我有一个名为$rootScope.currentStatus的$rootScope属性,用于在某些情况下在body上设置css类 问题是,每当用户离开当前页面时,我都需要将该值重置为默认值,但我不知道在哪里可以截获位置更改。目前我使用$routeProvider: app.config(function ($routeProvider, $locationProvider, $httpProvider) { $routeProvider.when('/site/d
app.config(function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider.when('/site/dashboard', {
templateUrl: '/partials/site/dashboard.html',
controller: 'DashboardCntl',
resolve: {
loggedin: checkLoggedin
}
});
....
});
有很多条目。我可以使用resolve添加一个重置变量的函数,但我必须插入所有路由条目
您还有其他想法吗?好的,我自己找到了解决方案,我可以使用以下代码拦截位置更改(路线更改):
$scope.$on('$routeChangeSuccess', function (next, current) {
$rootScope.currentStatus = "";
});
因此,我不必重置所有路由条目中的变量,我总是在路由更改时重置它,然后在控制器中设置适当的值