2013-03-12 90 views
1

我开发了一个Liferay portlet,并使用AngularJS作为slient端。通过使用服务注入控制器,诸如$范围将产生以下的误差: -Liferay Portlet上的服务注入错误

Error: Unknown provider: aProvider <- a

实施例的代码: -

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

如果$范围被去除,没有错误将发生。任何避免这种情况的解决方法。

回答

2

你的JS优化器/混淆器正在搞乱你的依赖关系。 看看DI docs

你会想在$注射或内嵌注释来定义你的控制器:

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

​​
+0

这是声明应用对象的正确方法? app = angular.module('myApp',[]); – wajatimur 2013-03-12 15:58:33

+0

这很好。只需在前面添加'var'即可。 ;-) – Stewie 2013-03-12 16:00:18

+0

谢谢,现在每一个都以完美的顺序。 – wajatimur 2013-03-12 16:18:29