我有激活的事件偵聽器:
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
**你在哪裏激活取消註冊**是什麼意思? –