每次更改 ng-view 时有没有办法调用通用控制器?即,我希望每次加载新的 $route 时都调用一个通用控制器。
问问题
407 次
1 回答
3
如果您为不同的路由指定了自定义控制器,那么我不知道您还可以指定一个始终被调用的通用控制器,除非您使用某种继承并始终调用基本控制器中的方法。
另一种方法是订阅路由服务广播的事件。
例子:
function MyController($rootScope, [...]) {
$rootScope.$on('$routeChangeSuccess', function (current, previous) {
// ...
});
}
您可以在此处获得可用事件及其参数的列表。
我相信您还可以添加属性、方法等,$rootScope
这要归功于 Angular 的绑定机制是如何工作的。如果在当前范围内没有找到它,它会检查其父级等直到根范围。
于 2012-10-11T10:53:48.847 回答