ng-show를 사용하여 $ scope 변수를 변경하여 요소에 js 이벤트를 바인딩해야합니다.
범위를 변경 한 후 JS 스크립트를 실행했지만 Js가 빠져있는 각도보다 빠르면 ng-show에서 아직 표시되지 않은 div가 발견되었습니다.
이 문제의 일부 코드 샘플은 다음과 같습니다. 나는 이런 종류의 문제에 대한 발견이 솔루션은의 setTimeout에 JS 코드를하는 것입니다하지만 난 깨끗한 솔루션이 필요합니다
이$scope.start = function(){
$scope.showMap=true;
/*
setTimeout(function(){
jsFunc();
},1000);
*/
//Use $timeout
$timeout(jsFunc);
}
$timeout
서비스가 통합되어 있습니다 : https://plnkr.co/edit/iYDs552yCyd3R7ivgD84?p=preview
$scope.start = function(){
$scope.showMap=true;
setTimeout(function(){
jsFunc();
},1000);
}
범위 변수에 시계를 추가해야합니다. https://www.sitepoint.com/mastering-watch-angularjs/ –
plunker에서 볼 수 있듯이 말했지만 편집하지 못했습니다. 문제는 시계 기능이 angularjs가 만든 dom의 변경보다 조금 더 일찍 호출 됨 – SWahi