AngularJS在路由更改时调用范围函数

vis*_*esh 2 javascript angularjs

我在我的角度应用程序中使用ng-route.一旦url更改,我不想更新templateUrl或控制器,但我想在路由参数的范围内调用函数.怎么做?

我应该提供相同的控制器并在控制器本身调用该功能吗?这假设在路由更改时再次调用控制器的构造函数.我没有尝试过,因为可能有更好的方法吗?我是棱角分明的新人.

Ale*_*jic 6

角route.js广播的事件$routeUpdate,$routeChangeStart,$routeChangeSuccess$rootScope,这样你就可以听他们的一个

将此添加到您要检测路由更改的范围

$rootScope.$on('$routeChangeStart', function (next, last) {
   $scope.someFunction();
});
Run Code Online (Sandbox Code Playgroud)


Vik*_*ash 6

您可以在控制器中尝试:

$scope.$on('$locationChangeStart', function(event) {
    //your code here
});
Run Code Online (Sandbox Code Playgroud)