반응형
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);
타임아웃용$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
반응형
'programing' 카테고리의 다른 글
| WP Job Manager - 작업 목록 추가를 위한 등록 흐름 변경 (0) | 2023.02.27 |
|---|---|
| @ExtendWith(SpringExtension.class)와 @ExtendWith(MockitoExtension.class)의 차이점은 무엇입니까? (0) | 2023.02.27 |
| jQuery - 비동기식으로 양식 보내기 (0) | 2023.02.27 |
| 봄용 Tomcat 웹 서버에서 application.properties를 외부화하는 방법 (0) | 2023.02.27 |
| 레코드를 파기할 때 무엇을 렌더링해야 합니까? (0) | 2023.02.27 |