Jak anulować subskrypcję zdarzenia emisji w angularJS. Jak usunąć funkcję zarejestrowaną przez $ on
Zarejestrowałem mojego słuchacza w zdarzeniu $ broadcast, używając funkcji $ on
$scope.$on("onViewUpdated", this.callMe);
i chcę cofnąć rejestrację tego detektora na podstawie określonej reguły biznesowej. Ale mój problem polega na tym, że po zarejestrowaniu nie mogę go wyrejestrować.
Czy w AngularJS jest jakaś metoda, aby wyrejestrować konkretnego słuchacza? Metodą taką jak $, która powoduje wyrejestrowanie tego zdarzenia, może być $ off. Więc mogę to powiedzieć na podstawie logiki biznesowej
$scope.$off("onViewUpdated", this.callMe);
i ta funkcja przestaje być wywoływana, gdy ktoś transmituje zdarzenie „onViewUpdated”.
Dzięki
EDYTOWAĆ: Chcę wyrejestrować słuchacza z innej funkcji. Nie funkcja, w której ją rejestruję.