当前位置: 首页 > 面试题库 >

延迟后如何使用angularjs更改值?

谭安翔
2023-03-14
问题内容

我创建了基于 angularjs

HTML:

<div ng-app="miniapp">
<div ng-controller="Ctrl">
    My name is 
    <input type="text"/>   
    Val: {{val}}
    <br/>
    <button ng-disabled="val">Submit</button>        
</div>

JS:

var app = angular.module('miniapp', []);

var glob;
function Ctrl($scope) {      
    glob = $scope;    
     $scope.val = false;

     window.setTimeout(function() {
            $scope.val = true;
        }, 3000);             
}

 window.setTimeout(function() {
            glob.val = true;
        }, 3000);

如您所见,我尝试通过2种方式在3秒后更改valtrue,但没有人为我工作。真的很奇怪 我错过了什么?

实际上,我尝试在从Ajax获得响应后更改值,但是假设应该是相同的问题。

谢谢,

这是我的示例:http :
//jsfiddle.net/6uKAT/20/


问题答案:

尝试使用: $timeout

Angular的window.setTimeout包装。fn函数包装在try / catch块中,并将任何异常委托给$
exceptionHandler服务。

$timeout(fn[, delay][, invokeApply]);

更新的小提琴

JavaScript

var app = angular.module('miniapp', []);

function Ctrl($scope, $timeout) {  
     $scope.val = false;
     $timeout(function(){$scope.val = true}, 3000);       
}


 类似资料:
  • 问题内容: 基本上,我有这个游戏,一旦猜出正确答案,它就会以一个新单词开始一个新游戏。我想显示,但是三秒钟后,将其更改为空字符串。我怎么做? 我的尝试: 编辑: 我的解决方案: 我不确定,但是我希望我遵循MadProgrammer的建议,而不是阻止事件本身,而是阻止新线程。我还将查找Java Timer。 问题答案: 摇摆是事件驱动的环境。当您阻止事件调度线程时,无法处理任何新事件。 您切勿在任何

  • 问题内容: 我有创建的这种方法,每秒向我的andengine场景添加一个精灵。 例如,我想做的是 我遇到的问题是更改变量时。我想不通一种更新TimeHandler的方法,让它知道更改mEffectSpawnDelay变量。 有什么建议? 问题答案: 我刚刚为您创建了此类。我认为它应该起作用,并且您可以根据需要更改刻度之间的间隔。(尚未测试,因此您可能需要进行一些小的修复。但这在IMO上看起来还不错

  • 问题内容: jQuery 1.5带来了新的Deferred对象和附加的方法,以及。 对于那些以前从未使用过的用户,我已经为其添加了注释。 这些新方法的可能用途是什么,我们如何将它们适应模式? 我已经阅读了API和[源代码,所以我知道它的作用。我的问题是我们如何在日常代码中使用这些新功能? 我有一个缓冲区类的简单示例,该类按顺序调用AJAX请求。(上一个完成后,下一个开始)。 我在寻找示威和可能的用

  • 问题内容: 我有一个似乎无法解决的性能问题。我有一个即时搜索功能,但是有点麻烦,因为它开始在每个位置上搜索。 JS: HTML: JSON数据甚至没有那么大,只有300KB,我认为我需要完成的是在搜索上放置〜1秒的延迟,以等待用户完成键入操作,而不是对每个按键执行操作。AngularJS在内部执行此操作,在阅读了文档和此处的其他主题之后,我找不到特定的答案。 我将不胜感激如何延迟即时搜索的任何指示

  • 问题内容: 编辑 第一个答案是一个很好的答案,但是,正如该问题和另一个关于stackoverflow的问题中多次提到的那样,问题是服务和控制器在数据实际到达之前就运行它们的东西。 (对第一个答案的最后评论:) 是的,问题在于服务运行后API调用完成,并将所有内容返回给控制器,请参阅此处screencast.com/t/uRKMZ1IgGpb7 …这是我的BASE问题,如何在所有部件上等待数据发送到

  • 问题内容: 是否可以从Angular控制器加载普通的旧JS或AMD模块?我以前为此使用RequireJS。 我以前在相当大的项目上使用过AngularJS和RequireJS。我正在基于MEAN Stack种子的新项目中工作,并且不使用requireJS。 我不太清楚,但是Angular有一个用于加载模块的系统-我可以从我的angular控制器中加载特定的javascript吗? 有没有办法修改我