【发布时间】:2014-02-13 03:27:03
【问题描述】:
我按照这篇文章在一个项目上实现了一个类似的 ajax 加载器图像:
我的实现有一些不同:
- 我使用
$rootScope到emit而不是broadcast,我还在指令上使用$rootScope来处理事件。 - 由于项目的特殊性,我必须在事件处理程序内的第一个事件被触发(显示或隐藏)后立即取消绑定指令
$rootScope.$on侦听器。 - 我只触发一个显示/隐藏事件。在第一个 HTTP 请求时显示,当计数达到 0 时隐藏。
我相信这些是与链接帖子的主要区别,不确定它们是否与我的问题相关,但以防万一......
当加载器隐藏事件被处理时,加载器消失了,除非页面被刷新,否则我不会再次显示它,但是我仍然有后台http请求刷新当前页面上的数据。这些请求仍将被拦截并触发不再需要/处理的新显示/隐藏事件。我只需要第一次表演和第一次隐藏,就是这样。
在第一次隐藏事件触发后,删除我添加到 $httpProvider 的 HTTP 拦截器的正确方法是什么?
我知道我们使用 $httpProvider.interceptors.push() 添加拦截器,但我不知道当我不再需要该拦截器时如何将其弹出。
【问题讨论】:
-
在配置阶段之后,您有没有找到任何方法来获取对
$httpProvider.intercerceptors的引用? -
在配置阶段之后您无法获得提供者,这是不可能的。
-
老鼠。谢谢,感谢您的快速响应
标签: angularjs angular-http-interceptors