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;
}