-1

我不是 AngularJS 开发人员,但我接到了一个项目。

现在我需要在每次路由更改时调用以下方法。去哪条路线都没有关系,随便哪条路线。

window.Intercom("update");

现在我找到了以下代码。

function config($urlRouterProvider, $stateProvider, $translateProvider, $locationProvider, $httpProvider) {

因此,在该方法中,我可以访问$urlRouterProvider,我在文档中读到这里可以检查匹配的路由,即使使用正则表达式也是如此。

现在我想知道,是否可以随时看到路由器更改 url,我在寻找正确的方向吗?

4

1 回答 1

3

如果您使用的是新的 Angular UI Router 版本 1.xx

您可以像这样使用运行块:

angular.module('whatever').run(function($transitions){
    $transitions.onSuccess({}, function(){
        window.Intercom("update");
    });
});

如果您使用的是旧版本的 Angular UI Router,您可以$stateChangeSuccess像这样订阅事件:

angular.module('whatever').run(function($rootScope){
    $rootScope.$on('$stateChangeSuccess', function(){
        window.Intercom("update");
    });
});
于 2017-07-05T20:38:41.843 回答