具有命名组的AngularJS routeprovider会停止多个控制器实例

时间:2014-05-05 00:48:19

标签: angularjs route-provider

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

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

有没有办法让它只加载一个控制器并为每个请求使用相同的控制器,如果没有办法在页面离开时销毁控制器。

1 个答案:

答案 0 :(得分:1)

面对类似问题的任何人:

控制器被销毁,但$rootScope上注册的侦听器仍然存在,因为$rootScope永远不会被销毁。

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