ng-show
및 ng-hide
의 애니메이션 버전을 구현하려고합니다. 원래는 jQueryUI.toggle('slide', …)
을 사용하려고했지만 $watch
번이 여러 번 실행 되었기 때문에 내 요소가 토글 링 된 후 즉시 토글 링됩니다 (때로는 두 번 이상). 하지만 저는 AngularJS의 github 문제에서 watch라는 의도 된 동작 (dirty checking)을 보았습니다.
scope.$watch(condition, function myShowHideAction(newValue,oldValue) {
if (newValue !== oldValue) {
if (newValue) {
elm.show("slide", { direction: direction }, "slow");
} else {
elm.hide("slide", { direction: direction }, "slow");
}
}
}
: 내가 지금 같은 $ 시계의
newValue
의 값을 확인하는 데 고장
불을 지워라. 나는 무엇을 본다? 토글!
몇 가지 콘솔 로그를 작성한 후 $ watch 루프 (예 : 한 번만 반복하는 것이 아니라 6 번 반복하지만 여기 또는 여기에 없어야 함) 중에 내 상태 값이 변경되는 것을 발견합니다. 그러나 실제 스코프 매개 변수의 값은 newValue
처럼 절반으로 변경되지 않습니다.
도대체 무슨 일이 벌어지고 있습니까? 모든 infoboxes이 같은 범위를 공유하기 때문에 이런 일이 발생
하자! 저것은 그것을 한 것을 보인다 - 감사합니다! btw my-map은 Angular-UI의지도 지시자를 기반으로합니다. (나는 거의 아무것도 변경하지 않았습니다. 단지 infoHindow를'infoBox'에 대해 찾아서/바꾸는 것이 좋을 것입니다. 그래서 코드는 주로 그것들입니다). – jacob