当我缩小 js 脚本时,出现 Unknown provider: eProvider <- e <- myDirective
错误
angular
.module('myApp', [])
.run(['$state', run])
.config(['$provide', config]);
function config($provide) {
$provide.decorator('myDirective', function($delegate) {
var directive = $delegate[0];
directive.controller = 'MyController as vm';
return $delegate;
})
}
这似乎是一个缩小问题,其中重命名了变量。虽然我不确定如何将其转换为缩小友好的。
最佳答案
您需要将 $delegte
注入(inject)装饰器。你可以通过两种方式做到这一点。
一种是创建单独的函数并向该函数注入(inject)服务,如下所示。
angular
.module('myApp', [])
.run(['$state', run])
.config(['$provide', config]);
function config($provide) {
$provide.decorator('myDirective', dirFun)
}
dirFun.$inject = ['$delegate'];
function dirFun($delegate) {
var directive = $delegate[0];
directive.controller = 'MyController as vm';
return $delegate;
}
选项2
function config($provide) {
$provide.decorator('myDirective',['$delegate',function($delegate) {
var directive = $delegate[0];
directive.controller = 'MyController as vm';
return $delegate;
}])
}
关于javascript - AngularJS 转换为压缩友好型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42711312/