1

每次更改 ng-view 时有没有办法调用通用控制器?即,我希望每次加载新的 $route 时都调用一个通用控制器。

4

1 回答 1

3

如果您为不同的路由指定了自定义控制器,那么我不知道您还可以指定一个始终被调用的通用控制器,除非您使用某种继承并始终调用基本控制器中的方法。

另一种方法是订阅路由服务广播的事件。

例子:

function MyController($rootScope, [...]) {
    $rootScope.$on('$routeChangeSuccess', function (current, previous) {
        // ...
    });
}

您可以在此处获得可用事件及其参数的列表。

我相信您还可以添加属性、方法等,$rootScope这要归功于 Angular 的绑定机制是如何工作的。如果在当前范围内没有找到它,它会检查其父级等直到根范围。

于 2012-10-11T10:53:48.847 回答