检测angularjs路径控制器何时超出范围
detect when angularjs route controller goes out of scope?
我有一个连接到路由的控制器。控制器使用$timeout
不断地轮询服务器。当路由更改时,我需要停止轮询,并在路由更改回来时重新启动它。
请帮忙。
这是我的代码:
(angular
.module('app.controllers', ['ng', 'ngResource'])
.controller('myContr', [
/******/ '$scope', '$resource', '$timeout',
function ($scope, $resource, $timeout) {
function update() {
$resource('my-service').get({}, function (d) {
// ...use data...
$timeout(update, UPDATE_INTERVAL);
});
};
update();
}
])
);
- 保存
$timeout
的返回值(promise)(到$scope属性) - 在您的作用域上注册
$destroy
事件处理程序 - 当事件处理程序触发时,对$timeout承诺调用
cancel()
当路由变回时,控制器将被重新创建,因此您的现有代码应该再次启动轮询。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 单击超链接时,如何使用Google Maps API v3缩放地图
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 浏览器何时记录历史记录
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 用超链接替换URLS
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 在对象数组中查找多个值的d3范围
- 当浏览器请求部分内容范围请求时,如何检测pdf何时加载到iframe中
- 在(跨浏览器)JavaScript 中,何时必须在局部范围内缓存变量查找
- 在 angularjs 生命周期中,范围何时自然会被破坏
- 检测angularjs路径控制器何时超出范围
- 何时在javascript中使用范围解析