Javascript Angularjs$route.reload()不工作

Javascript Angularjs$route.reload()不工作,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我有一个angular应用程序,我正在尝试刷新页面。我正在尝试许多帖子中建议的$route.reload()。但我无法让它工作(Chrome给了我一个错误)。这是我的控制器: var app = angular.module('StudentProgram', ['ngRoute', 'ui.bootstrap', 'jsonService']); app.controller('mycontroller', function($route, RequirementsServi

我有一个angular应用程序,我正在尝试刷新页面。我正在尝试许多帖子中建议的
$route.reload()
。但我无法让它工作(Chrome给了我一个错误)。这是我的控制器:

var app = angular.module('StudentProgram', ['ngRoute', 'ui.bootstrap', 'jsonService']);

        app.controller('mycontroller', function($route, RequirementsService, DegreesService, DegreeCategoriesService, DetailsService, ProgramsService, $scope, $modal, $log, $http) {
          ProgramsService.getItems(function(data){
        $scope.programs  = data;
        console.log(data);
      });

          $scope.addDegree = function(degree) {
            var variablesToSend =   {
                                       "acad_program_type": degree.acad_program_type,
                                            "program_title": degree.program_title, 

                                        }
                                    }
            $http.post('/api/studentacademicprogram/', variablesToSend).then(function(response){
                console.log(response);
                alert('post added');
                $route.reload();
            }, function(response){
                console.log(response);
                alert('post not added');
            });
          };
下面是我访问函数的div:

<div ng-show="display.academicdegrees" class="col-lg-8 col-md-8 col-sm-8">
                <div class="panel panel-warning list-group list-unstyled" data-spy="scroll" data-target="#panelcategory" data-offset="0" style="max-height:400px;overflow:auto;position:relative;">
                    <div class="panel-heading">
                        {% verbatim %}
                        <h3 class="panel-title">{{DegreeCategory}}</h3>
                        {% endverbatim %}
                    </div>

                </div>
            </div>

{%verbatim%}
{{degreeecategory}}
{%endverbatim%}

我在哪里出错?当我点击“刷新”按钮时,页面正在刷新,但调用该函数时,页面不会刷新。

您必须确保在index.html中包含angular-route.js(或缩小版),以便在模块中使用ngRoute

如果要将其添加到不想刷新页面的列表中,请将其推送到ng repeat重新重复的数组中。在代码中这样做的一个好地方是成功回调,用于将资源添加到后端。

使用

$window.location.reload()而不是$route.reload()


这应该可以解决。

对于使用
$route.reload()
您应该注意到
$route
取决于
$location
$routeParams
,因此您必须在控制器中插入主题。()

根据错误,您似乎忘记了包含路由模块js文件。你已经查过了吗?嗨。我包括了路线。现在错误消失了。但是重新加载并没有发生。。你知道为什么吗?你能确认这篇文章是正确完成的吗?顺便说一句,在这种情况下,使用$resource可能会使您受益。是的。帖子正在完成。当我手动刷新页面时,它也会加载一个包含新帖子的列表。请您发布更多的代码(或者最好是plnkr),包括您定义路由的位置?我不认为有足够的代码块继续提供我编辑的代码。每当我在使用PostGreSql的数据库中插入数据时,我都会调用该函数。每当我添加学位时,我都想重新加载页面,使其显示在html页面中添加的课程列表中。当我手动刷新页面时,它会加载新的更新列表。但是我想让这个刷新功能自动化。它们做的事情不一样
location.reload()
刷新整个应用程序,而
$route.reload()
只刷新当前路由。请解释一下它是如何工作的?
app.factory('safeApply', [function($rootScope) {
    return function($scope, fn) {
        var phase = $scope.$root.$$phase;
        if(phase == '$apply' || phase == '$digest') {
            if (fn) {
                $scope.$eval(fn);
            }
        } else {
            if (fn) {
                $scope.$apply(fn);
            } else {
                $scope.$apply();
            }
        }
    }
}]);

/*you have to use above created factory below your $route.reload();

Just Refer Below*/

 $http.post('/api/studentacademicprogram/', variablesToSend).then(function(response){
                console.log(response);
                alert('post added');
                $route.reload();
                safeApply($scope);
}

/*As the scope is not being watched properly this issue happens */