在我的开发机器上,我没有问题。但是,当我在生产服务器上加载相同的表单时,我收到错误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);
});
};
有没有解决方案可以解决这个问题。 提前谢谢。
答案 0 :(得分:6)
您在制作时遇到错误,因为在那里您的代码被缩小,因此$compile
的命名方式不同,从而损害了Angular的dependency injection机制。
您需要这样做才能解决:
angular.element(targetElement).injector().invoke(['$compile', function($compile) {
var scope = angular.element($div).scope();
$compile($div)(scope);
}]);