我有一个连接到路线的控制器。控制器使用$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();
}
])
);
答案 0 :(得分:3)
$timeout
(到$ scope属性)的返回值(承诺)。$destroy
事件处理程序。cancel()
。当路由更改回来时,控制器将重新创建,因此您现有的代码应该再次启动轮询。