ng-view的通用控制器

时间:2012-10-11 09:27:39

标签: angularjs

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

1 个答案:

答案 0 :(得分:3)

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

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

示例:

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

您有可用事件及其参数列表here

我相信您也可以向$rootScope添加属性,方法等,您可以在视图中使用绑定,这要归功于Angular的绑定机制的工作原理。如果它在当前范围内找不到它,则会检查其父级等直到根范围。