AngularJS 个应用中的后退按钮行为
Back button behavior in AngularJS apps
这可能是一个非常基本的问题,但我希望 Whosebug 的专家能够提供全面且有教育意义的答案。
当我在我的 angular 应用程序中按下后退按钮时,控制器是否再次从后端获取数据?是否可以避免这种情况,只需加载之前页面中的内容,包括它具有的各种状态,例如 table?
中的行排序
谢谢
当您更改路线时,您附加的控制器功能将重新运行。在您的控制器或服务中,无论获取数据是什么,您都可以将内容保存到父范围,例如 $rootScope
或者您可以保存到 browser session storage,然后检查是否有任何一个在获取数据之前已填充。
function controller ($scope, $rootScope, $http) {
if (! $rootScope.savedData) {
$http.get('data').success(function (data) {
$rootScope.savedData = data;
$scope.data = data;
});
}
else $scope.data = $rootScope.savedData;
}
这可能是一个非常基本的问题,但我希望 Whosebug 的专家能够提供全面且有教育意义的答案。
当我在我的 angular 应用程序中按下后退按钮时,控制器是否再次从后端获取数据?是否可以避免这种情况,只需加载之前页面中的内容,包括它具有的各种状态,例如 table?
中的行排序谢谢
当您更改路线时,您附加的控制器功能将重新运行。在您的控制器或服务中,无论获取数据是什么,您都可以将内容保存到父范围,例如 $rootScope
或者您可以保存到 browser session storage,然后检查是否有任何一个在获取数据之前已填充。
function controller ($scope, $rootScope, $http) {
if (! $rootScope.savedData) {
$http.get('data').success(function (data) {
$rootScope.savedData = data;
$scope.data = data;
});
}
else $scope.data = $rootScope.savedData;
}