我有一些代码可以在控制器内创建和注册一些动画。不幸的是,每当我在控制器中注册动画时,它似乎都没有初始化(该函数永远不会被调用。)
我创建了一个plunker来说明这个问题。在此,我在控制器外部调用“createAnim1”,动画正常运行。我在控制器内调用“createAnim2”,动画不起作用。
createAnim1();
app.controller('main', function($scope) {
createAnim2(); //This animation does not work
});
createAnim 函数的形式为:
app.animation('.anim1', function() {
return {
...
}
});
我错过了一些明显的东西吗?$animate 和 $animateProvider 文档似乎不包含与此相关的任何内容。
我认为这与编译已经发生的事实有关,并且错过了初始化动画所需的某些步骤?有没有办法解决这个问题?
PS:自上周以来我才使用 Angular,所以我对内部结构并不精通。
编辑:在亚历克斯的评论之后,我认为值得澄清我正在尝试做的事情:
我有一些代码可以生成 css 类动画选择器并将它们附加到文档头。如果浏览器不支持过渡,代码会生成一个等效的 jquery 动画。我试图创建一个工厂来通过 DI 公开此代码,并且当此代码运行时(从控制器内部),动画永远无法触发(初始化代码永远不会运行)。