[英]unknown provider factoryprovider <- factory <- controller angular js
[英]Factory and controller, unknown provider
我已經制作了一個控制器,並且試圖將其中的當前數據(用於測試)移出該控制器,並即時創建一個工廠,以便在獲得數據時可以進行api調用等圍繞它。
我是同時使用AngularJS和ionic的新手,我不確定問題出在哪里。
我目前收到此錯誤:
Error: [$injector:unpr] Unknown provider: BookingHistoryFctryProvider <- BookingHistoryFctry <- BookingsHistoryCtrl
http://errors.angularjs.org/1.3.6/$injector/unpr?p0=BookingHistoryFctryProvider%20%3C-%20BookingHistoryFctry%20%3C-%20BookingsHistoryCtrl
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:7888:12
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11806:19
at Object.getService [as get] (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11953:39)
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11811:45
at getService (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11953:39)
at invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11985:13)
at Object.instantiate (http://localhost:8100/lib/ionic/js/ionic.bundle.js:12002:27)
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:16255:28
at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:622:22
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:40562:28 <div ui-view="">
我的工廠
gomo_factories.factory('BookingsHistoryFctry', [ function(){
return function BookingsHistoryFctry(){
history : [
{ id: 1, date: '17 SEP', time: '14:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
{ id: 2, date: '17 SEP', time: '15:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'DRIVER' },
{ id: 3, date: '17 SEP', time: '16:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
]
};
}]);
我的控制器
gomo_controllers.controller('BookingsHistoryCtrl',["$scope","BookingHistoryFctry", function($scope, BookingHistoryFctry) {
/*$scope.history = [
{ id: 1, date: '17 SEP', time: '14:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
{ id: 2, date: '17 SEP', time: '15:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'DRIVER' },
{ id: 3, date: '17 SEP', time: '16:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
];*/
$scope.history = BookingHistoryFctry.history;
}]);
控制器和工廠包含在index.html中
<script type="text/javascript">
var gomo; // Gomo Application
var gomo_controllers = angular.module('gomo.controllers', ['ngCordova']); // Gomo Controllers
var gomo_factories = angular.module('gomo.factories', ['ngCordova']); // Gomo Factories
</script>
<script src="js/app.js"></script>
<!-- Factories -->
<script src="js/factories/bookingsHistoryFctry.js"></script>
<!-- Controllers -->
<script src="js/controllers/bookingsHistoryCtrl.js"></script>
並且它們在基本app.js的angular.module中定義
gomo = angular.module('gomo', ['ionic', 'gomo.factories', 'gomo.controllers']);
我想你的工廠可能關門了。 我可以嘗試:
gomo_factories.factory('BookingsHistoryFctry', ['$http', function($http){
var booking = {};
booking.history = function() {
var history = [
{ id: 1, date: '17 SEP', time: '14:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
{ id: 2, date: '17 SEP', time: '15:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'DRIVER' },
{ id: 3, date: '17 SEP', time: '16:30' , to: '24 Parramatta Road Leichardt' , from:'34 Enmore road Newtown' , type:'PASSENGER' },
];
return history;
}
return booking;
}]);
然后在您的控制器中類似:
$scope.history = BookingsHistoryFctry.booking.history();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.