2016-12-07 90 views
1

我读的书Angularjs精华 - http://www.goodreads.com/book/show/23139559-angularjs-essentialsAngularJS - 错误:NG:AREQ - 糟糕论点控制器不是功能

我试图遵循代码exmaples。

我有这个plunker的代码我有

https://plnkr.co/edit/jFK3ooODMChtXJqO7syf?p=preview

局部镀铬我得到的错误

Error: ng:areq 
    Bad Argument 

    Argument 'parkingCtrl' is not a function, got undefined 

我敢肯定,问题是出在“角模块”语法位在任controller.js,services.js或directive.js

顶部

任何人都可以看到我在做什么错误或如何制止这种错误

+0

您可以查看下面的答案 – Aruna

回答

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> 

(二)无需为服务注入相关性parkingService,将其更改为

angular.module('parking').factory("parkingService", function() { 
} 

DEMO

3

当你定义你的服务,你必须再次与这句法angular.module('parking', [])这就是为什么定义控制器不再存在这个文件加载之后重新创建的应用程序。所以,你可以在services.js文件,如下更改为angular.module('parking')将解决这一问题

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 
    }; 
}); 
相关问题