Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Javascript 未捕获错误:[$injector:moduler]http://errors.angularjs.org/1.3.2/$injector/modulerr?p0=产品管理_Javascript_Angularjs - Fatal编程技术网

Javascript 未捕获错误:[$injector:moduler]http://errors.angularjs.org/1.3.2/$injector/modulerr?p0=产品管理

Javascript 未捕获错误:[$injector:moduler]http://errors.angularjs.org/1.3.2/$injector/modulerr?p0=产品管理,javascript,angularjs,Javascript,Angularjs,我做了一个简单的SPA,然后在学习了Andrew Connel关于pluralsight(第二模块)的课程后,我犯了一些错误。基本上,第二个模块是创建一个配置异常处理程序和一个全局配置对象 似乎我遗漏了什么,但我不知道到底是什么 index.html文件 <!doctype html> <html data-ng-app="productManagement"> <head> <!-- Styles --> <link hre

我做了一个简单的SPA,然后在学习了Andrew Connel关于pluralsight(第二模块)的课程后,我犯了一些错误。基本上,第二个模块是创建一个配置异常处理程序和一个全局配置对象

似乎我遗漏了什么,但我不知道到底是什么

index.html文件

<!doctype html>
<html data-ng-app="productManagement">
<head>
    <!-- Styles -->
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" />|
    <link href="../Content/App.css" rel="stylesheet" />
    <link href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css" rel="stylesheet" />    
</head>
<body>

    <div id="pageWidth">
        <div id="chrome_ctrl_container"></div>
        <div id="contentBody">
            <nav class="navbar navbar-inverse">
                <div class="container">
                    <a class="navbar-brand"
                       ui-sref="home">Acme Product Management</a>
                    <div class="navbar-header">
                        <button type="button"
                                class="navbar-toggle"
                                data-toggle="collapse"
                                data-target=".navbar-collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                    </div>
                    <div class="navbar-collapse collapse">
                        <ul class="nav navbar-nav">
                            <li><a ui-sref="productList">Product List</a></li>
                            <li>
                                <a ui-sref="productEdit.info({productId:0})">
                                    <i class="glyphicon glyphicon-plus"></i>
                                    Add Product
                                </a>
                            </li>
                        </ul>
                    </div>
                </div>
            </nav>
            <div class="container">
                <div ui-view></div>
            </div>
        </div>
    </div>

    <!-- Common Libraries -->
    <script src="//code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
    <script src="/_layouts/15/init.js"></script>
    <script src="/_layouts/15/core.js"></script>
    <script src="/_layouts/15/SP.UI.Controls.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js" type="text/javascript"></script>
    <script src="//code.angularjs.org/1.3.2/angular-resource.min.js" type="text/javascript"></script>
    <script src="//code.angularjs.org/1.3.2/angular-mocks.js" type="text/javascript"></script>
    <script src="../Scripts/lib/angular-ui-router.min.js" type="text/javascript"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.2.js" type="text/javascript"></script>
    <script src="../Scripts/lib/ui-utils.min.js" type="text/javascript"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.4.13/d3.min.js" type="text/javascript"></script>
    <script src="../Scripts/lib/angular-charts.min.js" type="text/javascript"></script>

    <!-- my libraries -->
    <script src="../Scripts/lib/jquery-extensions.js" type="text/javascript"></script>

    <!-- App Bootstrapping -->
    <script src="../Scripts/App/App.js" type="text/javascript"></script>
    <script src="../Scripts/App/config.js" type="text/javascript"></script>
    <script src="../Scripts/App/config.exceptionHandler.js" type="text/javascript"></script>

    <!-- Services -->
    <script src="../Scripts/App/Common/Services/common.services.js" type="text/javascript"></script>
    <script src="../Scripts/App/Common/Services/productResource.js" type="text/javascript"></script>
    <script src="../Scripts/App/Common/Services/productResourceMock.js" type="text/javascript"></script>
    <script src="../Scripts/App/Common/Services/productService.js" type="text/javascript"></script>
    <script src="../Scripts/App/Common/Services/productdataservice.js"></script>

    <!--Controllers -->
    <script src="../Scripts/App/Products/productListCtrl.js" type="text/javascript"></script>
    <script src="../Scripts/App/Products/productDetailCtrl.js" type="text/javascript"></script>
    <script src="../Scripts/App/Products/productEditCtrl.js" type="text/javascript"></script>
    <script src="../Scripts/App/Prices/priceAnalyticsCtrl.js" type="text/javascript"></script>

    <!-- App Chrome-->
    <script src="../Scripts/lib/appchrome.js" type="text/javascript"></script>
</body>
</html>
Config.js

(function () {
  'use strict';

  var app = angular.module('productManagement');

  var events = {
    controllerActivateSuccess: 'controller.activateSuccess'
  };

  var config = {
    // config the exceptionHandler decorator
    appErrorPrefix: '[SYSERR] ',
    // app events
    events: events,
    // app version
    version: '1.0.0.0',
    // debug notification settings
    showDebugNotiSetting: true
  };

  // create a global variable on app called 'config'
  app.value('config', config);

  // configure the angular logging service before startup
  app.config(['$logProvider', function ($logProvider) {
    // turn debugging off/on (no info or warn)
    if ($logProvider.debugEnabled) {
      $logProvider.debugEnabled(true);
    }
  }]);

  // configure the common configuration
  app.config(['commonConfigProvider', function (cfg) {
    cfg.config.controllerActivateSuccessEvent = config.events.controllerActivateSuccess;
  }]);
})();
ConfigExceptionHandler.js

(function () {
  'use strict';

  var app = angular.module('productManagement');

  app.config(function ($provide) {
    $provide.decorator('$exceptionHandler',
                        ['$delegate', 'config', 'logger', extendExceptionHandler]);
  });

  // Extend $exceptionHandler service to display error notification
  function extendExceptionHandler($delegate, config, logger) {
    var appErrorPrefix = config.appErrorPrefix;

    return function (exception, cause) {
      $delegate(exception, cause);
      if (appErrorPrefix && exception.message.indexOf(appErrorPrefix) === 0) { return; }

      var errorData = {
        exception: exception,
        cause: cause
      };

      var msg = appErrorPrefix + exception.message;

      logger.logError(msg, errorData, true);
    };
  }
})();

你的应用程序中缺少某种角度依赖,比如ngRoute。单击Chrome控制台中的消息应该会提供有关此的更多详细信息。请尝试更改声明您的模块,如
var app=angular.module('productManagement',[])
var-app=angular.module('productManagement',[])此外,我认为您在ConfigExceptionHandler.js中重新声明了模块
productManagement
(function () {
  'use strict';

  var app = angular.module('productManagement');

  app.config(function ($provide) {
    $provide.decorator('$exceptionHandler',
                        ['$delegate', 'config', 'logger', extendExceptionHandler]);
  });

  // Extend $exceptionHandler service to display error notification
  function extendExceptionHandler($delegate, config, logger) {
    var appErrorPrefix = config.appErrorPrefix;

    return function (exception, cause) {
      $delegate(exception, cause);
      if (appErrorPrefix && exception.message.indexOf(appErrorPrefix) === 0) { return; }

      var errorData = {
        exception: exception,
        cause: cause
      };

      var msg = appErrorPrefix + exception.message;

      logger.logError(msg, errorData, true);
    };
  }
})();