Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 角度:未捕获错误:[$injector:nomod]模块';控制器';不可用!您要么拼错了模块名,要么忘记加载它_Angularjs - Fatal编程技术网

Angularjs 角度:未捕获错误:[$injector:nomod]模块';控制器';不可用!您要么拼错了模块名,要么忘记加载它

Angularjs 角度:未捕获错误:[$injector:nomod]模块';控制器';不可用!您要么拼错了模块名,要么忘记加载它,angularjs,Angularjs,我收到两条错误消息: 未捕获错误:[$injector:nomod]模块“控制器”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 及 错误:[ng:areq]参数“ActsController”不是函数,未定义 我假设我的ActsController.js文件无法加载。但是,我有其他的控制器文件正在加载。只有这一个引起了麻烦 app.js acts/controllers/ActsController.js acts/templates/index.h

我收到两条错误消息: 未捕获错误:[$injector:nomod]模块“控制器”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

错误:[ng:areq]参数“ActsController”不是函数,未定义

我假设我的ActsController.js文件无法加载。但是,我有其他的控制器文件正在加载。只有这一个引起了麻烦

app.js

acts/controllers/ActsController.js

acts/templates/index.html


在acts/templates/index.html中,尝试添加控制器脚本。检查这是否解决了加载问题

<script src="scripts/controllers/ActsController.js"></script>

在acts/templates/index.html中,尝试添加控制器脚本。检查这是否解决了加载问题

<script src="scripts/controllers/ActsController.js"></script>

尝试删除行
controllers=angular.module('controllers')在NavBarController.js文件中。它可能会用新的“控制器”模块覆盖您的初始“控制器”模块(从而替换ActsController)。您能否在HTML中显示脚本加载的顺序?您是否在index.HTML中导入了acts/controllers/ActsController.js?有时我们会忘记包含新的javascript文件:)。控制器代码没有任何问题(去掉了一些我没有加载文件并且没有使用的服务),在我看来,你在加载app.js之前加载了actscocontroller.js,这在本例中很重要,因为你在app中定义了模块
控制器
,然后在ActsController中通过angular调用它。请参阅Ok,了解了如何重新排列文件的执行顺序(显然它默认为字母顺序),您完全正确。谢谢你的提示!尝试删除行
controllers=angular.module('controllers')在NavBarController.js文件中。它可能会用新的“控制器”模块覆盖您的初始“控制器”模块(从而替换ActsController)。您能否在HTML中显示脚本加载的顺序?您是否在index.HTML中导入了acts/controllers/ActsController.js?有时我们会忘记包含新的javascript文件:)。控制器代码没有任何问题(去掉了一些我没有加载文件并且没有使用的服务),在我看来,你在加载app.js之前加载了actscocontroller.js,这在本例中很重要,因为你在app中定义了模块
控制器
,然后在ActsController中通过angular调用它。请参阅Ok,了解了如何重新排列文件的执行顺序(显然它默认为字母顺序),您完全正确。谢谢你的提示!
<div class="actions_body">
  <div class="container">
    <h2>Listing Actions</h2>

    <div ng-controller="ActsController" class="body">
      <table class="row">
        <thead>
          <tr>
            <th class="col-md-2 col-md-offset-1 active">
              <label>Name</label>
            </th>
            <th class="col-md-4">Description</th>
            <th class="col-md-2">Inspires</th>
            <th colspan="2" class="col-md-2">Modify</th>
          </tr>
        </thead>
        <tbody ng-repeat="act in acts">
          <td class="col-md-offset-1 col-md-2"><a href="" ng-click="linkToShowAct(act)">{{act.name}}</a></td>
          <td class="col-md-4">{{act.description}}</td>
          <td class="col-md-2">{{act.inspires}}</td>
          <td><a href="#">Edit</a></td>
          <td><button ng-click="deleteAct(act)">Delete</a></button>
        </tbody>
      </table>

      <br>

      <button ng-click="newActShow=true">New Action</button>
      <button ng-click="newActShow=false">Hide</button>

      <div ng-show="newActShow" id="newAct">
        <div class="row">
          <form class="form-inline" ng-submit="addAct()">
            <div class="col-md-3 form-group">
              <label for="newActname">Name</label>
              <input type="text" ng-model="newAct.name" id="newActname" placeholder="Name" class="form-control col-md-2">
            </div>
            <div class="col-md-3 form-group">
              <label for="newActdescription">Description</label>
              <input type="textarea" ng-model="newAct.description" id="newActdescription" placeholder="Description" class="form-control col-md-2">
            </div>
            <div class="col-md-3 form-group">
              <label for="newActinspires">Inspires</label>
              <input type="number" ng-model="newAct.inspires" id="newActinspires" placeholder="Inspires" class="form-control col-md-2">
            </div>
            <div class="col-md-3 form-group">
              <input type="submit" value="+" class="btn btn-success">
            </div>
          </form>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="container" ng-controller="ActsController">
    <div class="body">

        <h1>
            {{acts[0].name}}
        </h1>

        <p class="act-show-description">
            {{acts[0].description}}
        </p>

        <p class="act-show-inspires">
            <strong>Inspires:</strong>
            {{acts[0].inspires}}
        </p>

        <a href="#/">Edit</a>
        <a href="#/">Back</a>
    </div>
</div>
controllers = angular.module('controllers');

controllers.controller("NavBarController", [
  '$scope', 
  '$routeParams', 
  '$location',
  function($scope,$routeParams,$location) {

    $scope.actsIndex = function() {
      $location.path("/acts/index");
    }

    $scope.actsNew = function () {
      $location.path("/acts/index");
    }
}]);
<script src="scripts/controllers/ActsController.js"></script>
angular.module('controllers')
  .controller('ActsController', function () {
   // something simpler 
  });