未捕获错误:[$injector:unpr]未知提供商:aProvider <- a

Uncaught Error: [$injector:unpr] Unknown provider: aProvider <- a

本文关键字:aProvider 提供商 未知 unpr 错误 injector      更新时间:2023-09-26

在我的开发机器上我没有问题。然而,当我在生产服务器上加载相同的表单时,我得到错误Uncaught Error: [$injector:unpr] Unknown provider: aProvider <- a

如果我删除以下代码,它将在我的生产服务器中正常工作。

$scope.grid = function(targetElement) {
    var $div = $('<div style="height:375px; top:-1%; position: absolute; width:100%; " ><div reports  data-uri="repouri" data-form-data="formData"   data-show-filter="false" data-field="[]" ></div></div>');
    targetElement.append($div);
    angular.element(targetElement).injector().invoke(function($compile) {
        var scope = angular.element($div).scope();
        $compile($div)(scope);
    });
};

有解决这个问题的方法吗?

你在生产环境中出现了一个错误,因为在那里你的代码被最小化了,因此$compile的命名不同,从而损害了Angular的依赖注入机制。

你需要这样做来解析:

angular.element(targetElement).injector().invoke(['$compile', function($compile) {
    var scope = angular.element($div).scope();
    $compile($div)(scope);
}]);