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

时间:2015-06-18 14:02:56

标签: javascript angularjs

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

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

2 个答案:

答案 0 :(得分:6)

angular-route.js在$routeChangeStart上广播事件$routeChangeSuccess$rootScope$rootScope.$on('$routeChangeStart', function (next, last) { $scope.someFunction(); }); ,以便您可以收听其中一个

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

{{1}}

答案 1 :(得分:5)

您可以在控制器中尝试此操作:

$scope.$on('$locationChangeStart', function(event) {
    //your code here
});