我已经检查过,在开发人员工具中,在第一次动画期间根本没有将类添加到进入 View 中。
我的问题是:这是应该发生的吗?我应该添加比 ng-view 指令更多的东西,还是它是一个错误,我应该寻找解决方法?
HTML:
<div ng-view></div>
CSS:
div[ng-view].ng-enter, div[ng-view].ng-leave {
-webkit-transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.5s;
-webkit-transform: translateZ(0);
}
div[ng-view].ng-enter {
-webkit-transform: translateX(100%);
}
div[ng-view].ng-enter-active {
-webkit-transform: translateX(0);
}
div[ng-view].ng-leave {
-webkit-transform: translateX(0);
}
div[ng-view].ng-leave-active {
-webkit-transform: translateX(-100%);
}
这实际上是我能提供的所有信息。我已经检查过所有事件都被正确触发并且我没有做错任何事情,因为除了 CSS 样式之外没有我自己编写的实际代码。在第一次 $location.path() 或 href 单击后,像 ng-leave 和 ng-leave-active 这样的 css 类被添加到旧 View 中,但是 ng-enter 和 ng-enter-active 没有被添加到新 View 中。在第一次出现之后,一切都按预期进行。
最佳答案
看起来它现在(从 1.2.3 版开始)是正常的方式。
动画不会像这里解释的那样在 bootstrap 上播放: https://github.com/angular/angular.js/issues/5130
有几个主题要求解决方案,例如: Enter animation not playing in Angular
关于css - Angularjs ng-view 动画不会在第一次更改时添加 ng-enter 类 - 误解、错误、解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609315/