簡體   English   中英

Angular未知提供程序

[英]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')

看來您的bluetoothCtrlstarter.controllersdecodeFactorystarter.services ,這不包含在控制器的模塊中。 嘗試:

angular.module('starter.controllers',['starter.services']).controller('bluetoothCtrl', 
    function($scope, $ionicModal, $timeout, bluetoothFactory, decodeFactory) {...});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM