javascript - 如何检查局部变量随时间的变化?

标签 javascript angularjs

每当局部变量的值发生更改时,我想调用一个函数。 我使用 while 循环尝试了这段代码,但我被锁定在循环中。

var titleChanged = false;

$scope.$watch('title',function(newValue, oldValue) {
    if (newValue !== oldValue) {
        titleChanged = true;
    }
});

while (true) {
    $timeout(checkForChangeAndSave, 3000);
};

function checkForChangeAndSave() {
    if(titleChanged) {
        updateNote();
        titleChanged = false;
    }
}

function updateNote() {
    notesService.update($stateParams.id, {title: $scope.title});
    notesService.getAll();
};

最佳答案

我建议你使用Angular的Interval服务。

你用 while 实现它的方式会在超时执行期间阻塞你的代码。

看看 the angular interval documention .

关于javascript - 如何检查局部变量随时间的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577191/

相关文章:

node.js - 如何结合这些 AngularJS、Visual Studio 和 Node JS

javascript - AngularJS - Angular 过滤器按总和行分组

javascript - 是否可以将 ng-switch-when 属性放在多个元素上?

angularjs - 触发 $onChanges 以更新单向绑定(bind)

javascript - Google map API place.url 返回 "undefined"?

c# - 无法使用 JavaScript 获取下拉选定值?

javascript - 在解构括号内赋值?

javascript - 客户端模板和搜索引擎引用

javascript - 在 Angularjs 中添加项目时如何迭代数组?

javascript - Angularjs:如何从模态 Controller 和指令 Controller 访问主 Controller