[英]Angular Unknown provider
由於某種原因,我的工廠未按預期注入控制器。
index.html
<script src="js/app.js"></script>
<script src="js/tagFactory.js"></script>
<script src="js/bluetoothFactory.js"></script>
<script src="js/bluetoothController.js"></script>
app.js
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
tagFactory.js
angular.module('starter.services', []).factory('decodeFactory', ['$q', '$window', '$rootScope', function($q, $window, $rootScope) {
//.... this is really empty for now.
}])
bluetoothFactory.js
angular.module('starter.services', []).factory('bluetoothFactory', ['$q', '$window', '$rootScope', function($q, $window, $rootScope) { ... }])
bluetoothController.js
angular.module('starter.controllers',[]).controller('bluetoothCtrl', function($scope, $ionicModal, $timeout, bluetoothFactory, decodeFactory) {...});
在瀏覽器中運行頁面時,出現以下錯誤:
錯誤:[$ injector:unpr]未知提供程序:decodeFactoryProvider <-encodeFactory <-bluetoothCtrl
任何幫助表示贊賞。
您將創建兩次starter.services
模塊,這將導致第一個模塊被覆蓋。 您可能需要給他們兩個不同的模塊名稱,或者您需要為第二個模塊使用getter方法angular.module('starter.services')
。
看來您的bluetoothCtrl
在starter.controllers
而decodeFactory
在starter.services
,這不包含在控制器的模塊中。 嘗試:
angular.module('starter.controllers',['starter.services']).controller('bluetoothCtrl',
function($scope, $ionicModal, $timeout, bluetoothFactory, decodeFactory) {...});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.