错误消息不清楚:[$ injector:unpr]

时间:2016-09-29 05:30:33

标签: javascript angularjs dependency-injection

我创建了一个.html,app.js,Controller.js和Services.js。 我只是希望使用DI在html页面上发布数据但是在执行html文件时我收到错误

angular.js:12798 Error: [$injector:unpr] http://errors.angularjs.org/1.4.12/$injector/unpr?p0=menuFactoryProvider%20%3C-%20menuFactory%20%3C-%20MenuController

app.js

'use strict'
angular.module('confusionApp',[]);

Services.js

'use strict'
angular.module('confusionApp')
.factory('menufactory',function(){...

Controller.js

'使用严格的';

angular.module('confusionApp')
.controller('MenuController', ['$scope', 'menuFactory',    
function($scope, menuFactory){...

3 个答案:

答案 0 :(得分:2)

注入控制器时

menuFactory应为menufactory

angular.module('confusionApp')
.controller('MenuController', ['$scope', 'menufactory',    
function($scope, menufactory){

答案 1 :(得分:0)

控制器中的喷油器错误

menufactory

您应该在控制器中为工厂提供正确的名称menuFactory,并且控制器功能防御中的menufactorypublic class FirstClass { public static ArrayList<CommonInterface> mListOfInstances = new ArrayList(); private CountDownTimer _countDownTimer; public void startTimer() { _countDownTimer = new CountDownTimer(10000, 100) { @Override public void onTick(long millisUntilFinished) { for (int i = 0; i < mListOfInstances.size(); i++) { mListOfInstances.get(i).updateClass(); } } @Override public void onFinish() { } }; _countDownTimer.start(); } } public class SecondClass implements CommonInterface { public SecondClass() { FirstClass.mListOfInstances.add(this); } @Override public void updateClass() { } } public class ThirdClass implements CommonInterface { public ThirdClass() { FirstClass.mListOfInstances.add(this); } @Override public void updateClass() { } } public interface CommonInterface { void updateClass(); } 工厂的别名。

答案 2 :(得分:0)

如果您打开上述网址

https://docs.angularjs.org/error/$injector/unpr?p0=menuFactoryProvider%20%3C-%20menuFactory%20%3C-%20MenuController

说明中,您会找到问题的答案。

  

$ injector 无法解析所需的依赖关系导致此错误。要解决此问题,确保依赖关系已定义并拼写正确

你有拼写错误。

angular.module('confusionApp')
    .controller('MenuController', ['$scope', 'menufactory', function($scope, menuFactory){
});