javascript - 如何在 Angular 应用程序中定义模块和配置?

标签 javascript angularjs

我正在尝试使用 ui-router 设置 Angular 应用程序,但我遇到了 Angular 未注册模块 computerTrading 的问题。我已将错误粘贴在下面。

app.js

 angular.module('computerTrading', ['ui.router'])
    .config(function($stateProvider, $urlRouterProvider){
    'use strict';

      // $urlRouterProvider.otherwise(function($injector){
      //    var $state = $injector.get('$state');
      //    $state.go('home');
      // });
      $urlRouterProvider.otherwise('home');

      $stateProvider
        .state('home', {
          url: '/home',
          templateUrl: 'views/home.html',
          controller: 'MainController'
        })
        .state('nerd', {
          url: '/nerd',
          templateUrl: 'views/nerd.html',
          controller: 'NerdController'
        });
    });

index.html

<body ng-app="computerTrading">
<div class="container-fluid">

    <!-- HEADER -->
    <nav class="navbar navbar-inverse">
        <div class="navbar-header">
            <a class="navbar-brand" ui-sref="home">Stencil: Node and Angular</a>
        </div>

        <!-- LINK TO OUR PAGES. ANGULAR HANDLES THE ROUTING HERE -->
        <ul class="nav navbar-nav">
            <li><a ui-sref="nerd">Nerds</a></li>
        </ul>
    </nav>

    <!-- ANGULAR DYNAMIC CONTENT -->
    <div ui-view></div>

</div>
 <script src="libs/angular/angular.min.js"></script>
 <script src="libs/angular-ui-router/release/angular-ui-router.min.js"></script>

    <!-- ANGULAR CUSTOM -->
    <script src="js/controllers/MainCtrl.js"></script>
    <script src="js/controllers/NerdCtrl.js"></script>
    <script src="js/services/NerdService.js"></script>
    <script src="js/appRoutes.js"></script>
    <script src="js/app.js"></script>
</body>

错误

Uncaught Error: [$injector:nomod] http://errors.angularjs.org/1.6.1/$injector/nomod?p0=computerTrading
    at angular.js:38
    at angular.js:2183
    at b (angular.js:2107)
    at Object.module (angular.js:2181)
    at MainCtrl.js:1

最佳答案

computerTrading定义于 app.jsangular.module('computerTrading', ['ui.router']) .

考虑到angular.module('computerTrading') getter 函数在其他文件中调用,它们无法获取尚不存在的模块。

app.js最后加载于 <!-- ANGULAR CUSTOM -->部分,并且应该首先加载它。

关于javascript - 如何在 Angular 应用程序中定义模块和配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773791/

相关文章:

javascript - 缓存 CSS、JavaScript、Image Spring Boot (+Thymeleaf)

jquery - 如何避免单击按钮两次以在 jquery 中触发事件

javascript - 无法在 Angular UI Bootstrap 中使用 typeahead-on-select

jquery - AngularJS - 无法在链接函数中动态更改指令模板

javascript - 在 Jasmine 中测试空对象失败

php - $_SESSION 的响应数据?

javascript - 使用 jquery 更改复选框的样式

javascript - js只返回表格的第一行

javascript - 如何仅在单击时加载 iframe block ?

javascript - AngularJS 路由加载错误