angularjs - 每次AngularJS中的url更改时调用哪个函数?

标签 angularjs angularjs-routing

我必须使所有请求同时发生的队列而不是等待angularjs中前一个请求的响应。我有一个加载功能,每次更改url路由时都会显示加载div,但不能使队列陷入困境在那个功能。每当我更改url路由时,谁能告诉我在angularjs路由中调用了哪个函数?这里是路线代码:

angular.module('myApp', ['myApp.directives', 'myApp.services', 'myApp.filters']).config(
    function($routeProvider, $locationProvider, $httpProvider) {
        $locationProvider.html5Mode(false);
        $locationProvider.hashPrefix('!');

        $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

        var loading = function (data, headersGetter) {
            $('loadingDiv').show();
            return data;
        };
        $httpProvider.defaults.transformRequest.push(loading);

        $routeProvider.
        when('/', {
            templateUrl: 'elements/home/home.html',
            controller: homeCtrl
        });
   });

最佳答案

您可以使用类似:

.run( function($rootScope, $location) {
   $rootScope.$watch(function() { 
      return $location.path(); 
    },
    function(a){  
      console.log('url has changed: ' + a);
      // show loading div, etc...
    });
});

关于angularjs - 每次AngularJS中的url更改时调用哪个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445871/

相关文章:

javascript - 完全从 html 中解耦 Angular

javascript - 使用 $q 同步多个 Angular $http 调用/使用 $q.catch 进行错误处理

javascript - 通过电子邮件而不是 ID 搜索

javascript - 如何用参数做 $state.go() ?

javascript - 如何在最后加载$scope.$?

angularjs - 在 angularjs 中为多个 Controller 路由?

javascript - 仅在父元素内拖动指令?

javascript - 伪 MEAN 应用程序 - Angular 2 Node Api

Angularjs 变量值第一次使用 sweetAlert 时未更新,成功

angularjs - Angular 路由/路径更改和范围问题