AngularJS的routeprovider with named groups停止多个控制器实例



当我通过.when('/search/:searchString', {设置包含命名组的routeprovider时,当页面为每个不同的:searchString加载时,它会加载分配的控制器的新实例。

这导致我有一个问题,当我有一个$rootScope.$on('searchUpdated',,因为它对控制器的每个实例上的广播消息作出反应。

是否有一种方法可以使它只加载一个控制器并对每个请求使用相同的控制器,如果没有,是否有一种方法可以在页面离开时销毁控制器

对于遇到类似问题的人:

控制器被销毁,但是在$rootScope上注册的侦听器仍然存在,因为$rootScope从未被销毁。

问题似乎是你在$rootScope上从每个控制器实例注册一个监听器。

最新更新