AngularJS와 ng-class를 사용하여 클래스가 세 가지 상태로 변경 될 때 애니메이션을 적용하려고합니다. 나는 세 가지 상태에있을 수있는 div를 div의 클래스로 나타냅니다. 다음과 같이 상태는 정의 : 클래스 foo
및 bar
독점 의미 <div class="myDiv foo bar"></div>
이 불가능하다두 클래스 사이를 스와핑 할 때 ng-class가있는 AngularJS 애니메이션
<div class='myDiv'></div>
<div class='myDiv foo'></div>
<div class='myDiv bar'></div>
하는 것으로. 다음과 같이 나는 NG 수준의 지침을 사용하고 있습니다 :
<div class="myDiv" ng-class="{foo: first, bar: second}"></div>
컨트롤러는 부울 첫 번째 값과 두 번째는 모두 동시에 거짓하지만, 사실이 아니 될 수 있도록합니다.
ngAnimate가 1 < -> 2와 1 < -> 3 사이의 CSS 전환을 올바르게 감지하지만 2 < -> 3이 아닌 것으로 나타났습니다. .myDiv.foo
, .myDiv.bar
, .myDiv.foo-add-active
등과 같은 클래스 선택기에 대한 CSS 전환 코드를 추가하려고 시도했지만 ngAnimate가이를 감지하지 못합니다 (즉, -add 및 -add-active 클래스를 추가하지 않음) 또는 애니메이션 클래스 추가되지만 전환은 발생하지 않습니다.
여기에 jsFiddle에 대한 링크가 있습니다. 두 단추 중 하나를 클릭 한 다음 다시 클릭하면 작동 전환이 표시됩니다. 버튼을 클릭 한 다음 다른 버튼을 클릭하면 전환 부족이 표시됩니다.
ngAnimate가 올바르게 선택하는 전환 효과가 있습니까? 또는 ng-class를 사용하지 않고 내 자신의 사용자 지정 지시문을 작성해야하는 경우입니까?
이것은 확실히 작동하며 각도 1.2.x에 필요합니다. 결과적으로이 동작은 1.3.0에서 수정되었으므로 더 나은 가시성을 위해 해당 정보가 포함 된 답변을 추가하고 있습니다. – wizeowl