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

时间:2015-05-26 11:19:08

标签: javascript jquery angularjs

在我的开发机器上,我没有问题。但是,当我在生产服务器上加载相同的表单时,我收到错误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);
    });
};

有没有解决方案可以解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:6)

您在制作时遇到错误,因为在那里您的代码被缩小,因此$compile的命名方式不同,从而损害了Angular的dependency injection机制。

您需要这样做才能解决:

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