我有激活的事件侦听器:
var unregisterSubscription = $rootScope.$on(event, handler);
该事件在分量和/或指令激活。 我希望侦听器在用户使用侦听器的作用域时侦听,否则不要。
现在我的问题是在哪里激活unregisterSubscription方法?
我有激活的事件侦听器:
var unregisterSubscription = $rootScope.$on(event, handler);
该事件在分量和/或指令激活。 我希望侦听器在用户使用侦听器的作用域时侦听,否则不要。
现在我的问题是在哪里激活unregisterSubscription方法?
您可以在控制器中创建销毁事件。
$rootScope.$on('$destroy', function() {
unregisterSubscription(); // Call unregisterSubscription method.
});
$ rootScope在应用程序运行时永远不会被破坏 – Ladmerc
@Ladmerc它可能出现在特定组件控制器的$ scope'。 –
你可以注入$ scope或$ rootScope到控制器 –
请问您可以在您的问题中添加更多上下文吗?因为这个东西可以在多个地方完成,比如'app.run'或者在当前组件本身的一个控制器中。 –
什么情况下我可以添加更多内容? – Zakk
**你在哪里激活取消注册**是什么意思? –