λ‘λ© μ€νΌλμ κ°μ κ²μ λν΄ μΌμ ν μ λλ©μ΄μ μνκ³ μκ³ μ¦μ μ¨κΈ°κ±°λ νμνλ €λ κ²½μ° μμλλ λμμ΄ μλλλ€.
μμλ ng-animateμ μν΄ κ΄λ¦¬λλλ‘ μ§μλμ§ μμμΌλ©° μ μμ μΈ ng-show / hideκ° μ¦μ λ°μνκΈ°λ₯Ό μνλ©° μ§νμ€μΈ CSS μ λλ©μ΄μ μ κ΄λ ¨μ΄ μμ΄μΌνλ€κ³ μκ°ν©λλ€.
λ°μ΄μ¬λ¦° : http://jsfiddle.net/PvS8k/2/
"show loader"λ₯Ό μ ν μ·¨μνκ³ μ€μ λ‘ μ¬λΌμ§λ λ° λͺ μ΄κ° 걸립λλ€.
μ κ·Έλ μ΄λνκΈ° μ μ λ‘λκ° μ ν리μΌμ΄μ μ κ³ μ λμ§ μμκΈ° λλ¬Έμ μ΄κ²μ΄ μ΅κ·Όμ λ³κ²½μ΄λΌκ³ μκ°ν©λλ€. λλ μ°λ¦¬κ° μ μ 1.12μ μμλ€κ³ μκ°ν©λλ€.
ng-animateλ₯Ό μ¬μ© / μ¬μ©νμ§ μλ λ°©λ²μ λν μ΄ν΄κ° λΆμ‘±ν κ² κ°μ΅λλ€. μ΄ κ²½μ° μ€μ λ‘ μ¬μ©νκ³ μΆμ§ μμ§λ§μ΄ μμλ₯Ό 무μνλ λ° μ¬μ©ν μ μλ€λ©΄ μλν©λλ€. κ·Έλλ νμ€ν λλΌμ΄ νλ.
ngAnimateλ νΈλ¦¬κ±° μ€ μμμμ νμ±ν λ λͺ¨λ ν€ νλ μ / μ ν μ½λκ° ngAnimateλ₯Ό ν΅ν΄ μ λλ©μ΄μ
λ κ²μ΄λΌκ³ κ°μ νκΈ° λλ¬Έμ νμ μ€λ½μ΅λλ€. λ°λΌμμ΄ κ²½μ° .loader
κ° ngShow / ngHideμ κ΄λ ¨μ΄ μμμλ λΆκ΅¬νκ³ μ¬μ ν μ ν¨ν μ λλ©μ΄μ
μΌλ‘ μ νλ©λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ©΄ .ng-animate
ν΄λμ€κ° μμμ μ μ©λ λ μ λλ©μ΄μ
μ€νμΌμ μ§μ°λ©΄λ©λλ€.
μ΄κ²μ 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
μ μ¨κΈ°κΈ°λ₯Ό _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();
λ₯Ό μ¬μ©νλμ΄ λ΅λ³ μ μ νΈν©λλ€. μ μλν©λλ€.
κ°μ₯ μ μ©ν λκΈ
@ tole42 μ΄κ²μ ν΄κ²° λ°©λ²μ λλ€.