每次更改ng-view时,有没有办法调用公共控制器?即我希望每次加载新的$ route时都要调用一个公共控制器。
答案 0 :(得分:3)
如果您已为不同的路由指定了自定义控制器,那么我无法知道您还可以指定始终被调用的公共控制器,除非您使用某种继承并始终在基础中调用方法控制器。
另一种方法是订阅路由服务广播的事件。
示例:
function MyController($rootScope, [...]) {
$rootScope.$on('$routeChangeSuccess', function (current, previous) {
// ...
});
}
您有可用事件及其参数列表here。
我相信您也可以向$rootScope
添加属性,方法等,您可以在视图中使用绑定,这要归功于Angular的绑定机制的工作原理。如果它在当前范围内找不到它,则会检查其父级等直到根范围。