Angularjs 在Angular.js中更改位置时重置$rootScope属性

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

在我的应用程序中,我有一个名为$rootScope.currentStatus的$rootScope属性,用于在某些情况下在body上设置css类

问题是,每当用户离开当前页面时,我都需要将该值重置为默认值,但我不知道在哪里可以截获位置更改。目前我使用$routeProvider:

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 = "";

});
因此,我不必重置所有路由条目中的变量,我总是在路由更改时重置它,然后在控制器中设置适当的值