2015-09-16 77 views
0

我是angularjs的新手。我正在尝试制作模块化应用程序。但我无法在我的控制器或服务中注入任何依赖项。我尝试了很多博客,但我想我在这里错过了一些东西。有人可以指出我的错误,并以正确的语法帮助我。如果您可以添加一点解释或指向我正确的方向,我将不胜感激。注入角度消息依赖性失败角度js

与错误而失败:

Error: $injector:unpr 
Unknown Provider 

控制器:

var myCtrls = angular.module('myapp', ['ngMessages']); 

myCtrls.controller('DecorpotCtrl', [ '$scope', '$routeParams', 'cart', '$auth', 'User', '$rootScope',function($scope, $routeParams, cart, $auth, User, $rootScope) { 
} ]); 
myCtrls.controller('ProjectsController', [ '$scope', function($scope){ 

}]); 

app.js:

var decorpot = angular.module('decorpot', ['ngRoute', 'satellizer']); 

// 
decorpot.config(['$routeProvider', '$provide', '$authProvider', function($routeProvider, $provide, $authProvider){ 
//state configs 
}]); 

的index.jsp:

src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-route.min.js"></script> 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-messages.js"></script> 
<script src="resources/core/js/application/app.js"></script> 
<script src="resources/core/js/application/services.js"></script> 
<script src="resources/core/js/application/controllers.js"></script> 

回答

0

ngMessages是一个指令,它应该在模板中使用而不是作为控制器的依赖。只是做

<form name="myForm"> 
    <label> 
     Enter your name: 
     <input type="text" name="myName" ng-model="name" ng-minlength="5" ng-maxlength="20"required /> 
    </label> 
    <pre>myForm.myName.$error = {{ myForm.myName.$error | json }}</pre> 

    <div ng-messages="myForm.myName.$error" style="color:maroon" role="alert"> 
     <div ng-message="required">You did not enter a field</div> 
     <div ng-message="minlength">Your field is too short</div> 
     <div ng-message="maxlength">Your field is too long</div> 
    </div> 
</form> 

您可以在您的模板使用它:所提供的链接的例子

var myCtrls = angular.module('myapp', ['ngMessages']); 

按照您的意见和编辑,看来你是不声明ngRoute作为依赖于你的myapp模块:

var myCtrls = angular.module('myapp', ['ngMessages', 'ngRoute']); 
+0

我也试过。在这种情况下,它给出了一些奇怪的错误https://docs.angularjs.org/error/$injector/unpr?p0=$routeParamsProvider%20<-%20$routeParams%20<-%20myCtrl – user2696466

+0

该错误无关紧要有了这个。您在注入$ routeParams服务时遇到问题。 – taxicala

+0

当我删除这个ngMessage然后整个应用程序运行良好。我应该发布任何更多的信息。 – user2696466