AngularJS应用程序中的后退按钮行为

时间:2015-05-06 16:52:59

标签: angularjs web-applications

这可能是一个非常基本的问题,但我希望Stackoverflow的大师们能够提供全面和有教育意义的答案。

当我按下角度应用程序中的后退按钮时,控制器是否会再次从后端获取数据?是否有可能避免这种情况,只是加载之前页面中的内容,包括它所具有的各种状态,例如表中行的排序?

由于

1 个答案:

答案 0 :(得分:1)

更改路线时,附加的控制器功能将重新运行。在您的控制器或服务内部,无论是获取数据,您都可以将内容保存到父作用域,例如$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;
}