我有AngularJS控制器代码
(function() {
'use strict';
angular
.module('app')
.controller('TemplateCtrl', TemplateCtrl);
function TemplateCtrl($http, $auth, $rootScope,$scope){
}
})();
从http://jscompress.com/压缩后,我得到了以下输出。
!function(){"use strict";function t(t,l,n,e){}angular.module("app").controller("TemplateCtrl",t)}();
在压缩之前没有错误但在压缩之后我得到了错误
Error: [$injector:unpr] Unknown provider: tProvider <- t <- TemplateCtrl
我找不到任何解决这个问题的线索?
感谢您的帮助和时间。
答案 0 :(得分:2)
对于角度压缩,您需要做一些额外的事情。您需要让它知道如何压缩依赖项。所以你需要这个:
(function() {
'use strict';
angular
.module('app')
.controller('TemplateCtrl', ["$http", "$auth", "$rootscope", "$scope", TemplateCtrl]);
function TemplateCtrl($http, $auth, $rootScope,$scope){
}
})();
答案 1 :(得分:0)
Angular根据名称解析依赖关系。
在此处阅读详情:https://stackoverflow.com/a/35336414/2405040(Dependency Annotation)
并改变你的代码:
(function() {
'use strict';
angular
.module('app')
.controller('TemplateCtrl', ["$http", "$auth", "$rootscope", "$scope", TemplateCtrl]);
function TemplateCtrl($http, $auth, $rootScope,$scope){
}
})();
为防止缩小内容并使用内联注释语法编写代码,请添加ng-app
注释$(window).scroll(function() {
var xScroll = $(this).scrollTop();
$(".some-class").each(function() {
var that = this;
if(xScroll > $(that).offset().top - ($(window).height() / 1.2)) {
setTimeout(function(){
$(that).addClass('some-other-class');
},150);
}
});
});
属性。
答案 2 :(得分:0)
下面的代码对我有用。
(function() {
'use strict';
angular
.module('app')
.controller('TemplateCtrl', TemplateCtrl);
TemplateCtrl.$inject = ['$http', '$auth', '$rootScope', '$scope'];
function TemplateCtrl($http, $auth, $rootScope,$scope){
}
})();
压缩后这是
!function(){"use strict";function t(t,o,e,c){}angular.module("app").controller("TemplateCtrl",t),t.$inject=["$http","$auth","$rootScope","$scope"]}();
感谢所有人。
答案 3 :(得分:-2)
以这种方式让你的控制者:
angular
.module('app')
.controller('TemplateCtrl', function () {
var something = function ($http, $auth, $rootScope,$scope){
}
});