Pour une raison quelconque, mon usine n'est pas injectée dans le contrôleur comme prévu.

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) { ... }])

Bluetooth Controller.js

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

Lors de l'exécution de ma page dans le navigateur, je reçois l'erreur suivante:

Erreur: [$ injector: non] Fournisseur inconnu: decodeFactoryProvider <- decodeFactory <- bluetoothCtrl

Toute aide est appréciée.

1
Sonu Kapoor 13 juil. 2015 à 17:48

2 réponses

Meilleure réponse

Vous créez deux fois le module starter.services, ce qui entraîne l'écrasement du premier. Vous devez soit leur donner deux noms de modules différents, soit utiliser la méthode getter, angular.module('starter.services'), pour le second.

3
Matthew Green 13 juil. 2015 à 14:56

Il semble que votre bluetoothCtrl soit dans starter.controllers tandis que decodeFactory est dans starter.services qui n'est pas inclus dans le module du contrôleur. Essayer:

angular.module('starter.controllers',['starter.services']).controller('bluetoothCtrl', 
    function($scope, $ionicModal, $timeout, bluetoothFactory, decodeFactory) {...});
2
DocMax 13 juil. 2015 à 14:53