2015-05-26 78 views
2

在我的開發機器上,我沒有問題。但是,當我在生產服務器上加載相同的表單時,出現錯誤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); 
}]); 
+0

哇,縮小生產,而不是在開發環境,以及斑。 –

+0

@JeremyThille謝謝:) –

+0

@OmriAharon ..感謝它的工作。 –

相關問題