javascript - AngularJS:如何将 window.setTimeout 插入范围函数?

标签 javascript angularjs

$scope.runTest = function() {
    var statesArray = ['Running', 'Complete', 'Rejected'];
    var rand = statesArray[Math.floor(Math.random() * statesArray.length)];
    item.state = 'Running';
    console.log(rand)
    window.setTimeout(function() {
        item.state = rand;
    }, 6000);
};

item 状态更改为 Running 成功,但此后状态不会更改为 window.setTimeout 中所述的随机状态功能。

我哪里错了?

最佳答案

你应该使用 Angular $timeout service

$timeout(function() {
    item.state = rand;
}, 6000);

关于javascript - AngularJS:如何将 window.setTimeout 插入范围函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361053/

相关文章:

angularjs - 如何在angularjs中点击调用两个函数

javascript - 显式设置 CouchDB 文档键

javascript - 下拉菜单在不可见链接处有一个空隙

javascript - Angular .js : using events to trigger actions in controllers might cause memory leak

css - 如何更改此 ui-select 元素的样式表? ( Angular )

javascript - 如何将元素高度调整为另一个元素的高度?

angularjs - 选择下拉菜单时执行 orderBy

javascript - bootstrap 下拉菜单不下拉

javascript - RequireJS 未定义别名变量

javascript - 当 eventListener 附加到 IE 8 中的相同元素时如何停止事件传播?