在我的应用程序中,我有一个名为 $ 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
}
});
....
});
有很多条目。我可以使用解决添加重置我的变量的函数,但我必须插入所有路由条目。
你还有其他想法吗?
答案 0 :(得分:1)
好的,我自己找到了解决方案,我可以使用此代码拦截位置更改(路线更改):
$scope.$on('$routeChangeSuccess', function (next, current) {
$rootScope.currentStatus = "";
});
所以我不必在所有路由条目中重置变量,我总是在路由更改时重置它,然后在控制器中设置正确的值。