2016-10-10 23 views
0

我有激活的事件侦听器:

var unregisterSubscription = $rootScope.$on(event, handler); 

该事件在分量和/或指令激活。 我希望侦听器在用户使用侦听器的作用域时侦听,否则不要。

现在我的问题是在哪里激活unregisterSubscription方法?

+0

请问您可以在您的问题中添加更多上下文吗?因为这个东西可以在多个地方完成,比如'app.run'或者在当前组件本身的一个控制器中。 –

+0

什么情况下我可以添加更多内容? – Zakk

+0

**你在哪里激活取消注册**是什么意思? –

回答

0

您可以在控制器中创建销毁事件。

$rootScope.$on('$destroy', function() { 
    unregisterSubscription(); // Call unregisterSubscription method. 
}); 
+1

$ rootScope在应用程序运行时永远不会被破坏 – Ladmerc

+0

@Ladmerc它可能出现在特定组件控制器的$ scope'。 –

+0

你可以注入$ scope或$ rootScope到控制器 –