我想在SVG元素上使用Angular 1.2.0rc3動畫ngRepeat
,但是我找不到我的代碼無法工作的原因。在SVG元素上的角度動畫
其實,下面的代碼工作完美:
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="100">
<rect ng-repeat="item in itemsList" width="10" height="50" fill="gold" data-ng-attr-x="{{$index*15}}" class="animation" />
</svg>
<div>
<div ng-repeat="item in itemsList" class="animation">[{{$index}}] {{item}}</div>
</div>
.animation.ng-enter,
.animation.ng-leave
{
transition-property: opacity;
transition-duration: 2000ms;
}
.animation.ng-enter.ng-enter-active,
.animation.ng-leave
{
opacity: 1;
}
.animation.ng-enter,
.animation.ng-leave.ng-leave-active
{
opacity: 0;
}
但對於某些神祕的原因,當我把這些線在我真正的項目,則<rect>
元素不再生氣了。然而,<div>
元素仍然是動畫。最後,當我手動添加現有元素上的.ng-leave
和.ng-leave-active
類(例如使用Firebug)時,我可以看到<rect>
逐漸消失,如預期的那樣。一個相當不錯的Heisenbug,對吧?
請注意,我也在我的項目中使用jQuery。
有人已經遇到過類似的問題,或者只是對發生了什麼有所瞭解?
很好調查!希望你能在未來用別的方式挽救別人的頭痛。 –