调试代码后,我创建了自己的函数,就像“blesh”的答案一样。所以这就是我所做的
MyModule = angular.module('FIT', [])
.run(function ($rootScope) {
        // Custom $off function to un-register the listener.
        $rootScope.$off = function (name, listener) {
            var namedListeners = this.$$listeners[name];
            if (namedListeners) {
                // Loop through the array of named listeners and remove them from the array.
                for (var i = 0; i < namedListeners.length; i++) {
                    if (namedListeners[i] === listener) {
                        return namedListeners.splice(i, 1);
                    }
                }
            }
        }
});
因此,通过将我的函数附加到 $rootscope 现在它可供我的所有控制器使用。
在我的代码中我正在做
$scope.$off("onViewUpdated", callMe);
谢谢
编辑: AngularJS 的方法在@LiviuT 的回答中!但是,如果您想在另一个范围内取消注册侦听器,同时又想远离创建局部变量以保留取消注册函数的引用。这是一个可能的解决方案。