本文介绍了如何通过使用angularjs改变延迟后的价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个基于 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); 

正如你可以看到我试图改变 VAL 真正后3秒2的方法,但没有一个是为我工作。真是奇怪。我错过了什么?

As you can see I try to change val to true after 3 sec by 2 ways but no one is working for me. Really strange. Did I miss something?

其实我试图从阿贾克斯获取响应之后,改变数值,但假设应该是同样的问题。

Actually I try to change value after get response from Ajax, but suppose should be the same problem.

谢谢,

下面是我的例子:

推荐答案

请尝试使用:

Try using: $timeout

角的包装器window.setTimeout。该Fn功能是包裹
  成try / catch块和代表任何例外
  $ exceptionHandler的服务。

$超时(FN [,延迟] [,invokeApply]);

的JavaScript

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

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

这篇关于如何通过使用angularjs改变延迟后的价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 19:02