Angular $ route.reload()不重新加载控制器

时间:2014-12-08 17:54:38

标签: javascript angularjs angular-route-segment

我正在尝试使用$ route.reload()从我的控制器重新加载路由,但什么也没发生。这是我的控制者:

 app.controller("FooController", function($scope, data, $route) {
    $scope.model = data.model;
    $scope.meta = data.meta;
    $scope.reload = function() {
      return $route.reload();
    };
  });

我使用angular-route-segment作为路线,相关路线如下:

 app.config(function($routeSegmentProvider) {
    $routeSegmentProvider.segment("foo", {
      templateUrl: templatesRoot + "/tickers/oldest.html",
      controller: "FooController",
      resolve: {
        data: function($http) {
          return $http.get("/api/foos").then(function(response) {
            return {
              model: response.data.foos,
              meta: response.data.meta
            };
          });
        }
      },
      untilResolved: {
        templateUrl: templatesRoot + "/loading.html"
      }
    });
  });

1 个答案:

答案 0 :(得分:1)

注入$routeSegment而不是$route

属性chain是由每个级别分别划分的段数组,每个元素都有reload方法。

例如:

$scope.reload = function() {
  $routeSegment.chain[0].reload();
};

$routeSegment上可用的其他属性和方法以及chain数组中的元素可以找到here