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