Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 未知提供程序:ngMessagesProvider with require.js_Angularjs_Requirejs - Fatal编程技术网

Angularjs 未知提供程序:ngMessagesProvider with require.js

Angularjs 未知提供程序:ngMessagesProvider with require.js,angularjs,requirejs,Angularjs,Requirejs,我正在尝试在控制器中使用以下消息: 我正在设置require.js配置: require({ // libraries dependencies (fallback support) paths: { jquery: [ 'vendor/jquery/2.1.3/jquery.min' ], bootstrap: [ 'vendor/bootstrap/3.3.2/js/bootstrap.min' ], angul

我正在尝试在控制器中使用以下消息:

我正在设置require.js配置:

require({

  // libraries dependencies (fallback support)
  paths: {

    jquery: [
      'vendor/jquery/2.1.3/jquery.min'
    ],

    bootstrap: [
      'vendor/bootstrap/3.3.2/js/bootstrap.min'
    ],

    angular: [
      'vendor/angular.js/1.3.11/angular.min'
    ],

    angularResource: [
      'vendor/angular.js/1.3.11/angular-resource.min'
    ],

    angularAnimate: [
      'vendor/angular.js/1.3.11/angular-animate.min'
    ],

    ngMessages: [
      'vendor/angular.js/1.3.11/angular-messages.min'
    ],

    uiBootstrap: [
      'vendor/angular-ui/bootstrap/0.12.0/ui-bootstrap-tpls.min'
    ],

    uiRouter: [
      'vendor/angular-ui/ui-router/0.2.13/angular-ui-router.min'
    ],



  },

  // define js scripts dependencies
  shim: {

    'bootstrap': {
      deps: ['jquery']
    },

    'angular': {
      deps: ['bootstrap'],
      exports: 'angular'
    },

    'angularResource': {
      deps: ['angular']
    },

    'angularAnimate': {
      deps: ['angular']
    },

    'ngMessages': {
      deps: ['angular']
    },

    'uiBootstrap': {
      deps: ['bootstrap',  'angular']
    },

    'uiRouter': {
      deps: ['angular']
    },


  },

  priority: [
    'angular'
  ],

  deps: ['./ng.app']

});
在module.js中,我需要ngMessages:

define(function(require) {
  'use strict';

  var angular = require('angular');
  require('angularResource');
  require('ngMessages');

  require('uiRouter');
  require('uiBootstrap');

  // angular module definition
  return angular.module(
    // module name
    'companies',

    // module dependencies
    [
      'ngResource',
      'ngMessages',

      'ui.router',
      'ui.bootstrap',

      require('shared/fend/input-utils/package').name,
      require('shared/fend/pagination/package').name
    ]
  );

});
define(function(require) {
  'use strict';

  var module = require('../module');
  require('../resources/rest');


  module.controller('CompaniesNewCtrl', CompaniesNewCtrl);


  CompaniesNewCtrl.$inject = [
    '$rootScope', '$scope', '$state',
    'CompaniesResource',
    'InputFocusFactory', 'ngMessages'
  ];

  function CompaniesNewCtrl($rootScope, $scope, $state, resource, input, ngMessages) {... })
然后在我的控制器中,我尝试注入以下消息:

define(function(require) {
  'use strict';

  var angular = require('angular');
  require('angularResource');
  require('ngMessages');

  require('uiRouter');
  require('uiBootstrap');

  // angular module definition
  return angular.module(
    // module name
    'companies',

    // module dependencies
    [
      'ngResource',
      'ngMessages',

      'ui.router',
      'ui.bootstrap',

      require('shared/fend/input-utils/package').name,
      require('shared/fend/pagination/package').name
    ]
  );

});
define(function(require) {
  'use strict';

  var module = require('../module');
  require('../resources/rest');


  module.controller('CompaniesNewCtrl', CompaniesNewCtrl);


  CompaniesNewCtrl.$inject = [
    '$rootScope', '$scope', '$state',
    'CompaniesResource',
    'InputFocusFactory', 'ngMessages'
  ];

  function CompaniesNewCtrl($rootScope, $scope, $state, resource, input, ngMessages) {... })
但我得到了一个错误:

错误:$injector:unpr未知提供程序未知提供程序: ngMessagesProvider

我做错了什么?

检查它的API是否是
指令
,而不是
提供程序
,因此不能将其作为依赖项注入angular的组件中。您可以在html上使用它作为
AE
(属性/元素)

API

.directive('ngMessages', ['$animate', function($animate) {
 var ACTIVE_CLASS = 'ng-active';
 var INACTIVE_CLASS = 'ng-inactive';

 return {
   require: 'ngMessages',
   restrict: 'AE',
   controller: ['$element', '$scope', '$attrs', function($element, $scope, $attrs) {
     //.......code here