我正在阅读Angularjs Essentials一书 - http://www.goodreads.com/book/show/23139559-angularjs-essentials
我试图遵循代码exmaples。
我有这个有我的代码
的plunkerhttps://plnkr.co/edit/jFK3ooODMChtXJqO7syf?p=preview
在Chrome中本地我收到错误
Error: ng:areq
Bad Argument
Argument 'parkingCtrl' is not a function, got undefined
我确定问题是角度模块中的语法'位于controller.js,services.js或directive.js
的顶部任何人都可以看到我做错了什么或者如何阻止此错误
答案 0 :(得分:3)
当您定义服务时,您已使用此语法angular.module('parking', [])
再次重新创建应用程序,这就是在加载此文件后已定义的控制器不再存在的原因。因此,您可以将此更改为angular.module('parking')
,如下所示services.js
文件将解决问题
angular.module('parking').factory("parkingService", function() {
var _calculateTicket = function (car) {
var departHour = new Date().getHours();
var entranceHour = car.entrance.getHours();
var parkingPeriod = departHour - entranceHour;
var parkingPrice = parkingPeriod * 10;
return {
period: parkingPeriod,
price: parkingPrice
};
};
return {
calculateTicket: _calculateTicket
};
});
答案 1 :(得分:0)
有两个问题
(i)更改plunker中的参考文献
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
(ii)无需为服务 parkingService
注入依赖项,将其更改为
angular.module('parking').factory("parkingService", function() {
}
<强> DEMO 强>