programing

angularjs를 사용하여 지연 후 값을 변경하는 방법은 무엇입니까?

madecode 2023. 2. 27. 22:10
반응형

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로.true3초 후에 쌍방향으로 하는데 아무도 내 밑에서 일하지 않아.정말 이상하다.제가 뭔가를 빠뜨렸나요?

실제로 Ajax에서 응답을 받은 후 값을 변경하려고 합니다만, 같은 문제가 될 것으로 생각됩니다.

감사해요.

다음은 예를 제시하겠습니다.http://jsfiddle.net/6uKAT/20/

사용 방법:

Angular의 window.setTimeout 래퍼입니다.fn 함수는 try/catch 블록으로 둘러싸여 $exceptionHandler 서비스에 예외를 위임합니다.

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

업데이트된 바이올린

자바스크립트

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

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

각도가 알고 있는 범위 외(타임아웃 내)를 변경하고 있습니다.
그래서 당신은 그것을 사용해야 한다.$timeout..그렇지 않으면,$scope.$apply()

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

http://jsfiddle.net/6uKAT/21/

타임아웃용$timeout그리고 그것은 부를 것이다.$scope.$apply()널 위해서.
마찬가지로, Ajax의 경우$http.

이것들을 사용할 수 없다면, 당신은 전화해야 합니다.$scope.$apply()사용자 이름:

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

언급URL : https://stackoverflow.com/questions/16069309/how-to-change-value-after-delay-by-using-angularjs

반응형