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