我有一个使用javascript动画的应用。
当我运行构建时,grunt缩小并uglify代码并创建一个文件'vendor.js',其中包含所有库js代码,包括angular。但是,当我使用下面显示的animate方法时,生成的代码会被破坏。
我在浏览器控制台中看到的错误是由缩小和丑化的vendor.js引起的
Error: [$injector:unpr] Unknown provider: aProvider <- a
我可能需要找到一种与我正在做的不同的方法,但我仍然希望在可能的情况下专门解决这个问题。
在下面的代码中,我使用angular来访问全局的rootcope,因为我想在范围层次结构中触发比注册动画的元素更高的操作。
没有这个添加的行为,动画都正常工作,所以最终在vendor.js中的实际库没有问题答案可能是关闭uglification,或找到一种方法来复制这个特定的脚本直接到目标而不是通过放大和uglification传递它。
angular.module('myApp').animation('.theme-content', function() {
return {
enter: function(element, done) {
var rootScope = angular.element(document).injector().invoke(function($rootScope){return $rootScope;});
rootScope.$broadcast('page-start-animation', null );
return function(cancelled) {
};
},
leave: function(element, done) { },
move: function(element, done) { },
beforeAddClass: function(element, className, done) { },
addClass: function(element, className, done) { },
beforeRemoveClass: function(element, className, done) { },
removeClass: function(element, className, done) { }
};
});