Angular 1.2.0rc3 を使用して SVG 要素をアニメーション化したいngRepeat
のですが、コードが機能しない理由がわかりません。
実際、次のコードは完全に機能します。
<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>
要素はまだアニメーション化されています。そして最後に、たとえば Firebug を使用して、既存の要素に.ng-leave
andクラスを手動で追加すると、期待どおり、 が徐々に消えていくのがわかります。とても素敵なハイゼンバグですよね?.ng-leave-active
<rect>
プロジェクトでjQueryも使用していることに注意してください。
誰かがすでに同様の問題に遭遇したことがありますか、または単に何が起こっているのかを知っていますか?