1

私は Liferay ポートレットを開発し、AngularJS を slient 側に使用しています。コントローラーで$scopeなどのサービス インジェクションを使用すると、次のエラーが発生します。

エラー: 不明なプロバイダー: aProvider <- a

コード例:-

<script>
function PayrollCalcCtrl($scope){
}
</script>

$scopeを削除すると、エラーは発生しません。この状況を回避するための回避策。

4

1 に答える 1

2

JS オプティマイザー/難読化ツールが依存関係をいじっています。DI docsを見てください。

$inject または inline アノテーションでコントローラーを定義する必要があります。

var MyController = function(myScope) {
  ...
}
MyController.$inject = ['$scope'];

また

app.controller('MyCtrl', ['$scope', function($scope) {
  ...;
}]);
于 2013-03-12T15:54:43.927 に答える