$scope.$apply() 필요에 따라 프런트엔드 페이지 강제 렌더링

1461 단어 Angular
angularJS는 양방향 데이터 연결을 실현할 수 있지만, 때때로 데이터가 바뀔 때 전방 페이지에 표시된 정보는 업데이트되지 않습니다. 이때 $scope.$를 빌릴 수 있습니다.apply () 는 강제로 다시 렌더링합니다.
사례 참조:




$scope.$apply()



function Aaa($scope){
	$scope.name = 'hello';
	setTimeout(function(){
		$scope.$apply(function(){
			$scope.name = 'hi';
		});
	},2000);		
}






{{name}}


이 예의 다른 실현 방식은 $timeout을 통해 2s를 실현한 후 "hello"가 "hi"로 갱신됩니다.




$scope.$apply()



function Aaa($scope,$timeout){
	$scope.name = 'hello';

	$timeout(function(){
		$scope.name = 'hi';
	},2000);
	

	
}






{{name}}


트리거 시간을 통해 "hello"를 "hi"로 리셋합니다.




$scope.$apply()



function Aaa($scope,$timeout){
	$scope.name = 'hello';
	$scope.show = function(){
		$scope.name = 'hi';
	};
	
}




{{name}}


좋은 웹페이지 즐겨찾기