2016-12-07 91 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 
    }; 
}); 
相關問題