出于某种原因,我的工厂没有按预期注入(inject) Controller 。
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>
应用程序.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.
}])
蓝牙工厂
angular.module('starter.services', []).factory('bluetoothFactory', ['$q', '$window', '$rootScope', function($q, $window, $rootScope) { ... }])
蓝牙 Controller .js
angular.module('starter.controllers',[]).controller('bluetoothCtrl', function($scope, $ionicModal, $timeout, bluetoothFactory, decodeFactory) {...});
在浏览器中运行我的页面时,我收到以下错误:
Error: [$injector:unpr] Unknown provider: decodeFactoryProvider <- decodeFactory <- bluetoothCtrl
感谢任何帮助。
最佳答案
您正在创建 starter.services
模块两次,这导致第一个被覆盖。您要么需要给它们两个不同的模块名称,要么您需要为第二个模块使用 getter 方法 angular.module('starter.services')
。
关于javascript - Angular 未知提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31386569/