Angular.js: μ• λ‹ˆλ©”μ΄μ…˜μ€‘μΈ μš”μ†Œμ—μ„œ ng-show / hideκ°€ μ§€μ—°λ©λ‹ˆλ‹€.

에 λ§Œλ“  2014λ…„ 07μ›” 16일  Β·  17μ½”λ©˜νŠΈ  Β·  좜처: angular/angular.js

λ‘œλ”© μŠ€ν”Όλ„ˆμ™€ 같은 것에 λŒ€ν•΄ μΌμ •ν•œ μ• λ‹ˆλ©”μ΄μ…˜μ„ν•˜κ³  있고 μ¦‰μ‹œ μˆ¨κΈ°κ±°λ‚˜ ν‘œμ‹œν•˜λ €λŠ” 경우 μ˜ˆμƒλ˜λŠ” λ™μž‘μ΄ μ•„λ‹™λ‹ˆλ‹€.

μš”μ†ŒλŠ” ng-animate에 μ˜ν•΄ κ΄€λ¦¬λ˜λ„λ‘ μ§€μ‹œλ˜μ§€ μ•Šμ•˜μœΌλ©° 정상적인 ng-show / hideκ°€ μ¦‰μ‹œ λ°œμƒν•˜κΈ°λ₯Ό μ›ν•˜λ©° 진행쀑인 CSS μ• λ‹ˆλ©”μ΄μ…˜μ€ 관련이 μ—†μ–΄μ•Όν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ°”μ΄μ˜¬λ¦° : http://jsfiddle.net/PvS8k/2/

"show loader"λ₯Ό 선택 μ·¨μ†Œν•˜κ³  μ‹€μ œλ‘œ μ‚¬λΌμ§€λŠ” 데 λͺ‡ μ΄ˆκ°€ κ±Έλ¦½λ‹ˆλ‹€.

μ—…κ·Έλ ˆμ΄λ“œν•˜κΈ° 전에 λ‘œλ”κ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— κ³ μ •λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 이것이 졜근의 변경이라고 μƒκ°ν•©λ‹ˆλ‹€. λ‚˜λŠ” μš°λ¦¬κ°€ 전에 1.12에 μžˆμ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

ng-animateλ₯Ό μ‚¬μš© / μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 방법에 λŒ€ν•œ 이해가 λΆ€μ‘±ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. 이 경우 μ‹€μ œλ‘œ μ‚¬μš©ν•˜κ³  싢지 μ•Šμ§€λ§Œμ΄ μš”μ†Œλ₯Ό λ¬΄μ‹œν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλ‹€λ©΄ μž‘λ™ν•©λ‹ˆλ‹€. κ·Έλž˜λ„ ν™•μ‹€νžˆ λ†€λΌμš΄ 행동.

ngAnimate broken expected use bug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@ tole42 이것은 ν•΄κ²° λ°©λ²•μž…λ‹ˆλ‹€.

.YourElementClass.ng-animate { -webkit-animation: none 0s; }

λͺ¨λ“  17 λŒ“κΈ€

ngAnimateλŠ” 트리거 쀑 μš”μ†Œμ—μ„œ ν™œμ„±ν™” 된 λͺ¨λ“  ν‚€ ν”„λ ˆμž„ / μ „ν™˜ μ½”λ“œκ°€ ngAnimateλ₯Ό 톡해 μ• λ‹ˆλ©”μ΄μ…˜ 될 것이라고 κ°€μ •ν•˜κΈ° λ•Œλ¬Έμ— νƒμš• μŠ€λŸ½μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œμ΄ 경우 .loader κ°€ ngShow / ngHide와 관련이 μ—†μŒμ—λ„ λΆˆκ΅¬ν•˜κ³  μ—¬μ „νžˆ μœ νš¨ν•œ μ• λ‹ˆλ©”μ΄μ…˜μœΌλ‘œ μ„ νƒλ©λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ .ng-animate ν΄λž˜μŠ€κ°€ μš”μ†Œμ— 적용될 λ•Œ μ• λ‹ˆλ©”μ΄μ…˜ μŠ€νƒ€μΌμ„ μ§€μš°λ©΄λ©λ‹ˆλ‹€.

http://jsfiddle.net/PvS8k/4/

이것은 CSS μƒμ†μ˜ λ¬Έμ œμž…λ‹ˆλ‹€. getComputedStyleμ—λ§Œ μ˜μ‘΄ν•˜μ§€ μ•Šκ³  μŠ€νƒ€μΌμ„ κ°μ§€ν•˜λŠ” 더 쒋은 방법이 μžˆλ‹€λ©΄ μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ 기이 ν•œ 문제λ₯Ό ν”Όν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@matsko 이 νŠΉλ³„ν•œ κ²½μš°λŠ” μ‹€μ œλ‘œ νšŒκ·€λΌκ³  μƒκ°ν•©λ‹ˆλ‹€. @SimpleAsCouldBe 의 plunker λ˜λŠ”μ΄ plunker http://plnkr.co/edit/5cfIXfNryNOzK66q9YWL?p=preview μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ 1.2.17μ—μ„œλŠ” μš”μ†Œκ°€ μ¦‰μ‹œ 사라지지 μ•Šμ§€λ§Œ 1.2.16μ—μ„œλŠ” κ·Έλ ‡μŠ΅λ‹ˆλ‹€. 이것은 https://github.com/angular/angular.js/commit/55b2f0e8620465559016b424967d90a86af597c0 λ•Œλ¬ΈμΌ κ°€λŠ₯성이 ν½λ‹ˆλ‹€.
λ‚˜λŠ” 이것이 μ’€ 더 λ©΄λ°€ν•œ 쑰사λ₯Ό ν•„μš”λ‘œν•œλ‹€κ³  μƒκ°ν•œλ‹€. 적어도 이에 λŒ€ν•œ λ³€κ²½ λ‘œκ·Έμ™€ λ¬Έμ„œμ— λ©”λͺ¨κ°€ μžˆμ–΄μ•Όν•©λ‹ˆλ‹€.

ν•΄κ²° 방법에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. μ˜ˆμƒλŒ€λ‘œ νŠΈλ¦­μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

두 점. ν•˜λ‚˜λŠ” ng-show에 νŠΉμ •ν•œ 것이고 λ‹€λ₯Έ ν•˜λ‚˜λŠ” μΌλ°˜μ μž…λ‹ˆλ‹€.

ng-show + λ¬΄ν•œ μ• λ‹ˆλ©”μ΄μ…˜ :

λ¬΄ν•œ μ• λ‹ˆλ©”μ΄μ…˜μ΄ ng-show 의 숨기기λ₯Ό _really_ μ§€μ—°ν•΄μ•Όν•©λ‹ˆκΉŒ? λ‚˜λŠ” 초λ₯Ό μ„Έμ–΄ λ³΄μ•˜κ³  그것을 숨기기 μœ„ν•΄ κΈ°λ‹€λ¦¬λŠ” 것이 항상 4 μ΄ˆλŠ” μ•„λ‹™λ‹ˆλ‹€. λ•Œλ•Œλ‘œ κ·Έκ²ƒμ˜ 5 λ˜λŠ” 7 ... λ‹€μ–‘ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. λ˜ν•œ ν™•μΈλž€μ„ λ‹€μ‹œ 켜고 끄면 μˆ¨κ²¨μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ—¬κΈ° μ–΄λ”˜κ°€μ— μ‹€μ œ 버그가 μˆ¨μ–΄μžˆλŠ” 것 κ°™μ•„μš”.

철학적

λΉ„ κΈ°κ³ μžλ‘œμ„œ λ‚˜λŠ” λ§Žμ€ 말을 ν•  수 μ—†μ§€λ§Œ 옡트 아웃은이 λΌμ΄λΈŒλŸ¬λ¦¬μ— μ ν•©ν•œ μ „λž΅μ΄ 아닐 수 μžˆμŠ΅λ‹ˆλ‹€. JS λΌμ΄λΈŒλŸ¬λ¦¬κ°€ CSS κ·œμΉ™μ— λ°˜μ‘ν•˜λ„λ‘ν•˜λŠ” 것은 λ†€λžλ„λ‘ 마술 μ μž…λ‹ˆλ‹€. ng-animatable μš”μ†Œμ— νƒœκ·Έλ₯Ό μ§€μ •ν•΄μ•Όν•œλ‹€λ©΄ 이에 λŒ€λΉ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@SimpleAsCouldBe 예 μ €λŠ” λͺ¨λ“  μ• λ‹ˆλ©”μ΄μ…˜μ— animate- 클래슀 접두사가 μžˆμ–΄μ•Ό ngAnimateκ°€ μ• λ‹ˆλ©”μ΄μ…˜μ— μ—°κ²°λ˜λ„λ‘ν•˜λŠ” 것이 κ°€μž₯ 쒋을 것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.

지연과 κ΄€λ ¨ν•˜μ—¬ μ§€μ—°μ΄μžˆλŠ” 것이 μ•„λ‹ˆλΌ ngAnimateκ°€ λ¬΄ν•œ 뢀뢄을 μ·¨μ†Œν•˜κ³  μ• λ‹ˆλ©”μ΄μ…˜μ„ ν•œ 번만 μ‹€ν–‰ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ 숨길 λ•Œ 2 초 * 1.5 = 3 초 λ™μ•ˆ κΈ°λ‹€λ¦° λ‹€μŒ νƒ€μž„ 아웃 검사λ₯Ό μ‹€ν–‰ν•˜κ³  μ• λ‹ˆλ©”μ΄μ…˜μ„ λ‹«μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ „ν˜€ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„μ•Όν•˜λŠ” λΆˆν•„μš”ν•œ μ‹œκ°„μž…λ‹ˆλ‹€. CSS μŠ€νƒ€μΌ 감지 만 맀우 μ œν•œλ©λ‹ˆλ‹€.

@Narretz 제곡 ν•œ 컀밋이이 νŠΉμ • μ˜ˆμ œμ— 영ν–₯을 λ―ΈμΉ  수 μžˆμ§€λ§Œ μ‹€μ œλ‘œλŠ” νšŒκ·€μ™€ 관련이 μ—†μŠ΅λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” μˆ˜μ • 전에 있던 .ng-hide μŠ€νƒ€μΌμ΄ display:none 값을 λ‹€λ₯Έ μ‹œκ°„μ— μ μš©ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ ν˜„μž¬ μˆ˜μ • 사항은 λͺ¨λ“  μ• λ‹ˆλ©”μ΄μ…˜μ΄ μ™„λ£Œλœ 후에 만 β€‹β€‹μ μš©λ©λ‹ˆλ‹€ ( .ng-animate ν΄λž˜μŠ€κ°€ 제거 된 ν›„).

μ•„λž˜ 데λͺ¨λ₯Ό μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€. .blue ν΄λž˜μŠ€μ— λŒ€ν•΄ 두 μ„ΈνŠΈμ˜ 선택기 ( .ng-animate 및 μ œμ™Έ)κ°€ μ–΄λ–»κ²Œ μžˆλŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. .blue ν΄λž˜μŠ€κ°€ μ¦‰μ‹œ 적용 λ˜μ—ˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  ngAnimateλŠ” μ—¬μ „νžˆ μ• λ‹ˆλ©”μ΄μ…˜μ΄ 만료 된 κ²ƒμœΌλ‘œ μƒκ°ν•˜κ³  μ’…λ£Œ μ‹œκ°„ μ œν•œμ„ μ μš©ν•˜κΈ° 전에 3s (2 초 * 1.5λ₯Ό κΈ°μ–΅ν•˜μ‹­μ‹œμ˜€)λ₯Ό 기닀릴 κ²ƒμž…λ‹ˆλ‹€. μΌλ°˜μ μœΌλ‘œλŠ” 2 초 것,ν•˜μ§€λ§Œ animationend μ΄λ²€νŠΈλŠ” μš”μ†Œμ˜ μ‹€μ œ μ• λ‹ˆλ©”μ΄μ…˜ λ•Œλ¬Έμ— ν•΄κ³ λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (이의 λ•Œλ¬Έμ— .loader λ¬΄ν•œ 및 겨 μˆ˜μ€€μ— μ˜ν•΄ νŠΈλ¦¬κ±°λ˜μ§€ μ•ŠμŒ) ( λ˜λŠ” 이전 예의 경우 ng-show). λ”°λΌμ„œ 이전 버그 μˆ˜μ •μœΌλ‘œ 인해 영ν–₯을받지 μ•ŠμŠ΅λ‹ˆλ‹€.
http://jsfiddle.net/PvS8k/15/

ngAnimateλ₯Ό 덜 μˆœμ§„ν•˜κ²Œ λ§Œλ“€κ³  animated- κ°€ CSS μ ‘λ‘μ‚¬λ‘œ μ–΄λ”˜κ°€μ—μžˆμ„ λ•Œλ§Œ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

옡트 인 μ• λ‹ˆλ©”μ΄μ…˜ μ²˜λ¦¬μ™€ 같은 μ£Όμš” λ³€κ²½ 사항에 개방적이라면 덜 λ†€λΌμš΄ 개발자 κ²½ν—˜μ„ λ§Œλ“€ μˆ˜μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

ν‰λ²”ν•œ .animate λ³΄λ‹€λŠ” .ng-animate 와 같은 νŠΉμ • κ°λ„λ‘œ 접두사λ₯Ό 뢙일 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” 같은 문제λ₯Ό κ°€μ§€κ³ μžˆλ‹€:
각도> = 1.2.17 http://jsfiddle.net/9krLr/17/
각도 1.2.16으둜 λͺ¨λ“  것이 μ’‹μŠ΅λ‹ˆλ‹€ : http://jsfiddle.net/EZpQQ/1/

@ tole42 이것은 ν•΄κ²° λ°©λ²•μž…λ‹ˆλ‹€.

.YourElementClass.ng-animate { -webkit-animation: none 0s; }

λ‹Ήμ‹ μ˜ 도움을 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. ν•΄κ²° 방법이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
뭐가 잘λͺ» λ˜μ—ˆ λ‹ˆ?
http://jsfiddle.net/9krLr/21/

@ tole42 λ‚΄κ°€ λ³Ό μˆ˜μžˆλŠ” ν•œ κ·Έ λ°”μ΄μ˜¬λ¦°μ˜ 아무것도 μ• λ‹ˆλ©”μ΄μ…˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄μ…˜μ΄ μž¬λ‹¨ 라이브러리의 μΌλΆ€μž…λ‹ˆκΉŒ? 보닀 직접적인 μž¬ν˜„ μ‚¬λ‘€λŠ” 디버깅을 더 μ‰½κ²Œ λ§Œλ“­λ‹ˆλ‹€. λ‚˜μ—κ²Œ 같은 문제처럼 보이지 μ•ŠμŠ΅λ‹ˆλ‹€.

@ tole42 와 같은 λ¬Έμ œκ°€ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λͺ¨λ“ˆμ— ngAnimate 포함을 μ‚¬μš©ν•˜λ©΄ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜μ§€ _ μ•ŠλŠ” _ 경우 κΈ°λ³Έ 사둀에 λŒ€ν•΄ ν‘œμ€€ ng-hide / ng-show κΈ°λŠ₯이 μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 즉, μ• λ‹ˆλ©”μ΄μ…˜ ν΄λž˜μŠ€κ°€ μ μš©λ˜μ§€ μ•Šμ€ 일반 μš”μ†Œμ— ng-hide / ng-showλ₯Ό μ‚¬μš©ν•  λ•Œμž…λ‹ˆλ‹€.

<div ng-hide="hideme">hide me</div>

κ·Έ 가죽에 μ• λ‹ˆλ©”μ΄μ…˜μ΄ ν•„μš”ν•˜λ‹€λ©΄ λ‹€μŒκ³Ό 같이 ν•  κ²ƒμž…λ‹ˆλ‹€.

<div ng-hide="hideme" class="myanimation">hide me</div>

ν‘œμ‹œ / μˆ¨κΈ°κΈ°μ— μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜λ €λŠ” μ•±μ˜ μΈμŠ€ν„΄μŠ€μ™€ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ›ν•˜μ§€ μ•ŠλŠ” λ‹€λ₯Έ μΈμŠ€ν„΄μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜μ§€ μ•ŠμœΌλ €λŠ” 경우 μ‚¬μš©μž 지정 μ• λ‹ˆλ©”μ΄μ…˜ 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ ν‘œμ‹œ / μˆ¨κ²¨μ§€λŠ” μš”μ†Œλ₯Ό μž₯μ‹ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 경우 AngularλŠ” μˆ¨κ²¨μ§„ μš”μ†Œμ— "ng-hide"클래슀λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

λͺ¨λ“ˆμ— ngAnimateλ₯Ό μ „ν˜€ ν¬ν•¨ν•˜μ§€ μ•ŠμœΌλ©΄ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€. μš”μ†Œκ°€ μ¦‰μ‹œ μ‚¬λΌμ§‘λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‹¨μˆœνžˆ ngAnimateλ₯Ό ν¬ν•¨ν•˜λ©΄ @ tole42κ°€ κ²Œμ‹œ ν•œ 두 개의 λ°”μ΄μ˜¬λ¦°μ— ν‘œμ‹œλœ λ™μž‘μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. "ng-hide"클래슀λ₯Ό μΆ”κ°€ ν•œ μš”μ†Œκ°€ μ‹€μ œλ‘œ 사라지기 전에 지연이 μžˆμŠ΅λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄μ…˜μ„ μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ μ¦‰μ‹œ μ‚¬λΌμ§‘λ‹ˆλ‹€.

μž‘λ™ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μ΄λŠ” λͺ‡ 가지 ν•΄κ²° 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

.ng-hide-add {
    transition: 0s linear all;
}

λ˜λŠ”:

.ng-hide {
    display: none !important;
}

κ·ΈλŸ¬λ‚˜ μ• λ‹ˆλ©”μ΄μ…˜μ΄ μ•„λ‹Œ λ°©μ‹μœΌλ‘œ λ‹¨μˆœνžˆ 무언가λ₯Ό μˆ¨κΈ°λ €κ³ ν•˜λŠ” κ²½μš°μ— ν•„μš”ν•˜λ‹€λŠ” 것은 μ˜³μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€.

λͺ‡ 가지 μΆ”κ°€ λ°œκ²¬μ— λŒ€ν•œ 후속 쑰치λ₯Ό μœ„ν•΄ ...

문제λ₯Ό κ°€λŠ₯ν•œ κ°€μž₯ κ°„λ‹¨ν•œ μ‹œλ‚˜λ¦¬μ˜€ (일반 div ν‘œμ‹œ / 숨기기)둜 μš”μ•½ν•˜λ €κ³ ν•˜λ©΄ λ¬Έμ œκ°€ λ‚˜νƒ€λ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@ tole42 κ°€ κ²Œμ‹œ ν•œ λ°”μ΄μ˜¬λ¦°μ—μ„œ Foundation.cssκ°€ μ‚¬μš©λ˜κ³  μžˆμŒμ„ λ°œκ²¬ν–ˆμœΌλ©° μ˜ˆμ œμ—μ„œλŠ” μž…λ ₯ ν•„λ“œ ν‘œμ‹œ / 숨기기 문제λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. λ‚΄ κ²½ν—˜μ€ λΉ„μŠ·ν–ˆμ§€λ§Œ (μž…λ ₯ ν•„λ“œλ‘œ λ¬Έμ œκ°€ λ‚˜νƒ€λ‚¨) bootstrap.cssλ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. 두 CSS νŒŒμΌμ„ 더 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©΄ λ‘˜ λ‹€ μž…λ ₯ ν•„λ“œμ— CSS μ „ν™˜μ„ μ μš©ν•©λ‹ˆλ‹€.

angular-animateκ°€ 지속 μ‹œκ°„μ„ μ„ νƒν•˜κΈ° λ•Œλ¬Έμ— μ΄λŸ¬ν•œ CSS μ „ν™˜μ΄ μ‹€μ œ λ²”μΈμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€. μ˜λ„μ μœΌλ‘œ ν•΄λ‹Ή μ „ν™˜μ„ μ• λ‹ˆλ©”μ΄μ…˜ν•˜λ €κ³ ν•˜μ§€ μ•Šλ”λΌλ„ μ΄λŸ¬ν•œ μš”μ†Œλ₯Ό ν‘œμ‹œν•˜κ±°λ‚˜ 숨길 λ•Œ μ‹œκ°μ  지연이 λ°œμƒν•©λ‹ˆλ‹€.

λ”°λΌμ„œ 이것이 Angularκ°€ ν•΄κ²°ν•˜λ €κ³  μ‹œλ„ν•΄μ•Όν•˜λŠ” 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ CSS λΌμ΄λΈŒλŸ¬λ¦¬μ™€ ν•¨κ»˜ angular-animateλ₯Ό μ‚¬μš©ν•˜λŠ” λΆ€μž‘μš©μ— κ°€κΉμŠ΅λ‹ˆλ‹€. μ˜ˆμƒν•˜μ§€ λͺ»ν•œ CSS μ „ν™˜μ΄ ν¬ν•¨λ˜μ–΄μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€!

κ·Όλ³Έ 원인을 μ°ΎλŠ” 데 였랜 μ‹œκ°„μ΄ 걸렸지 만 λ§ˆμΉ¨λ‚΄ μ˜λ―ΈμžˆλŠ” 이유λ₯Ό μ°Ύμ•„μ„œ μ’‹μ•˜μŠ΅λ‹ˆλ‹€.

예, 이것은 ngAnimateμ—μ„œ μ€‘μš”ν•œ λ¬Έμ œμ΄μ§€λ§Œ getComputedStyle에 λŒ€ν•œ μ œμ–΄ λΆ€μ‘±κ³Ό λ‹€λ₯Έ 라이브러리의 연속 μ „ν™˜μœΌλ‘œ 인해 ngAnimateμ—μ„œμ΄λ₯Ό 감지 ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” λ°©λ²•μ—λŠ” 두 가지가 μžˆμŠ΅λ‹ˆλ‹€.

1) .ng-animate 클래슀의 μŠ€νƒ€μΌμ„ μž¬μ •μ˜ν•©λ‹ˆλ‹€.
http://jsfiddle.net/9krLr/27/

이전에 μž‘λ™ν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” CSS νŠΉμ΄μ„±μ΄ λΆ€μ‘±ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

2) $animateProvider.classNameFilter(regex) ν•©λ‹ˆλ‹€. 이 경우 μ •κ·œμ‹μ€ λͺ¨λ“  ngAnimate 트리거 μ• λ‹ˆλ©”μ΄μ…˜μ— ν•˜λ“œ 블둝을 λ°°μΉ˜ν•˜κ³  μ •κ·œμ‹μ΄ μ• λ‹ˆλ©”μ΄μ…˜ν•˜λ €λŠ” μš”μ†Œμ—μžˆλŠ” classNameκ³Ό μΌμΉ˜ν•˜λŠ” κ²½μš°μ—λ§Œ μ• λ‹ˆλ©”μ΄μ…˜μ΄ λ°œμƒν•˜λ„λ‘ ν—ˆμš©ν•©λ‹ˆλ‹€.

였, κ³΅κΈ‰μžμ— ꡬ성을 λ„£λŠ” 것은 쒋은 λ°©λ²•μž…λ‹ˆλ‹€. @matskoκ°€ 정말 μ’‹μ•„μš”!

@pnutshellmenace λΉ λ₯Έ μ†”λ£¨μ…˜μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. 그것은 λ‚΄ ν•˜λ£¨λ₯Ό κ΅¬ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” μ—¬κΈ°μ„œ μ΅œμ’… 해결책이 무엇인지 μ΄ν•΄ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€. @matsko λŠ” λ‹€μŒ

ngAnimateλ₯Ό 덜 μˆœμ§„ν•˜κ²Œ λ§Œλ“€κ³  μ• λ‹ˆλ©”μ΄μ…˜μ„ 적용 ν•  λ•Œλ§Œ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ μš©ν•˜λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€. μ–΄λ”˜κ°€μ— CSS μ ‘λ‘μ‚¬λ‘œ μ‘΄μž¬ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λ‚˜λŠ” 그런 κ΅¬ν˜„μ„ 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. $animateProvider.classNameFilter(regex) μ‚΄νŽ΄ λ΄€μ§€λ§Œ λ‹€μ‹œ ν•œ 번 닡변보닀 더 λ§Žμ€ 질문이 남아 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό κ΅¬ν˜„ν•˜λŠ” μ‹€μš©μ μΈ 방법은 무엇이며 적용 κ°€λŠ₯ν•œ 클래슀 이름이 λ‘˜ 이상인 경우 μ–΄λ–»κ²Œλ©λ‹ˆκΉŒ?

ngAnimateκ°€ λ‚΄κ°€ λͺ¨λ“  것을 μ• λ‹ˆλ©”μ΄μ…˜ν•˜κ³  μ‹Άλ‹€κ³  κ°€μ •ν•΄μ•Ό ν•  μ΄μœ κ°€ μ—†μŠ΅λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄νŠΈν•˜κ³  싢지 μ•Šμ€ 것이 ν•­μƒμžˆμ„ 것이고, ν˜„μž¬λŠ” λ‹€λ₯Έ 방법보닀 μ• λ‹ˆλ©”μ΄νŠΈν•˜κ³  싢지 μ•Šμ€ 것이 더 많기 λ•Œλ¬Έμ— μˆ˜λ™μœΌλ‘œ μŠ€νƒ€μΌμ„ μ§€μ •ν•˜μ—¬ μ „ν™˜μ„ λΉ„ν™œμ„±ν™” ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŽΈμ§‘ : 일을 μ›κ·Όλ²•μœΌλ‘œ λ§Œλ“œλŠ”μ΄ λΈ”λ‘œκ·Έ ν•­λͺ©μ„ μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. μ‹œλ„ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€ : http://blog.fgribreau.com/2014/03/how-to-configure-ng-animate-to- work-on.html

νŽΈμ§‘ 2 : $animateProvider.classNameFilter(/enable-animate/); λŠ” νš¨κ³Όκ°€ μžˆμ—ˆμ§€λ§Œ κ·Έ κ³Όμ •μ—μ„œ λͺ‡ 가지 ν₯미둜운 λ™μž‘μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” ngAnimate에 μ˜μ‘΄ν•˜λŠ” μ¨λ“œ νŒŒν‹° μ•΅κ·€λŸ¬ λͺ¨λ“ˆμ˜ .js νŒŒμΌμ„ 포함 μ‹œμΌ°κ³ , μ–΄λ–»κ²Œ λ“  λ‚΄ μžμ‹ μ˜ λͺ¨λ“ˆμ—μ„œλ„ μ• λ‹ˆλ©”μ΄μ…˜μ΄ νŠΈλ¦¬κ±°λ˜λ„λ‘ν–ˆμŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ λ“  ngAnimateκ°€ λΆ€λͺ¨ λͺ¨λ“ˆ λ²”μœ„μ— 영ν–₯을 λ―Έμ³€μŠ΅λ‹ˆκΉŒ?

비동기 μž‘μ—…μ— $scope.$evalAsync(); λ₯Ό μ‚¬μš©ν•˜λŠ”μ΄ λ‹΅λ³€ 을 μ„ ν˜Έν•©λ‹ˆλ‹€. 잘 μž‘λ™ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰