3

我正在尝试使用 $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"
      }
    });
  });
4

1 回答 1

1

注入$routeSegment而不是$route.

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

例如:

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

可以在此处找到其他可用的属性和方法以及数组中$routeSegment的元素。chain

于 2014-12-08T19:52:20.970 回答