我已经开发了一个 Liferay portlet 并使用 AngularJS 来实现。通过在控制器中使用诸如$scope之类的服务注入将产生以下错误:-
错误:未知提供者:aProvider <- a
示例代码:-
<script>
function PayrollCalcCtrl($scope){
}
</script>
如果$scope被删除,则不会发生错误。避免这种情况的任何解决方法。
你的 JS 优化器/混淆器弄乱了你的依赖。看看DI 文档。
您需要在 $inject 或内联注释中定义您的控制器:
var MyController = function(myScope) {
...
}
MyController.$inject = ['$scope'];
或者
app.controller('MyCtrl', ['$scope', function($scope) {
...;
}]);