ng-if 初始动画不适用于自定义指令

ng-if initial animation not working with a custom directive

如果 ng-if 和自定义指令放在同一个 DOM 元素上,初始动画将不起作用。

<div ng-if="value" myDirective class="fadeMe"></div>

这是一个plunkr,清楚地显示了问题。请注意,只有初始显示淡入淡出失败。

更多详情: 我猜这与两个指令的优先级有关(首先编译 ngif)。

我试图为自定义指令设置更高的优先级,但我 运行 遇到了更多问题,例如自定义指令的子作用域不会被 ng-if 破坏,因此,自定义指令继续观察值。

class 的 Angular 指令 "restrict type" 中的数据绑定似乎存在计时问题。

restrict: 'C'

所以尽快修复使用

restrict: 'A'

http://plnkr.co/edit/2iB9jvpGSMi3IwelicXT

似乎与这个问题有关:

https://github.com/angular/angular.js/issues/14074

如果您在指令中使用内联模板而不是 templateURL,它就会开始工作。