在Scala Play中使用AngularJS时,我得到了这个错误。
错误:参数'MainCtrl‘不是函数,未定义
我正在尝试创建一个由星期几组成的表。
请看一下我的代码。我已经检查了控制器的名称,但这似乎是正确的。注意:从这里使用的代码,所以answer
index.scala.html
@(message: String)
@main("inTime") {
<!doctype html>
<html lang="en" ng-app>
<head>
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
</head>
<div ng-controller="MainCtrl">
<table border="1">
<tbody ng-repeat='(what,items) in data'>
<tr ng-repeat='item in items'>
<td ngm-if="$first" rowspan="{{items.length}}">{{what}}</td>
<td>{{item}}</td>
</tr>
</tbody>
</table>
</div>
</html>
}
MainCtrl.js
(function() {
angular.module('[myApp]', []).controller('MainCtrl', function($scope) {
$scope.data = {
Colors: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
}
});
}());
发布于 2013-06-25 13:00:50
从模块的名称(myApp)中删除[]
angular.module('myApp', [])
并将ng-app="myApp"
添加到html中,它应该可以工作。
发布于 2013-12-09 02:31:42
首先使用。检查路由定义中的controller
是否正确,是否与您正在定义的控制器名称相同
communityMod.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/members', {
templateUrl: 'modules/community/views/members.html',
controller: 'CommunityMembersCtrl'
}).
otherwise({
redirectTo: '/members'
});
}]);
communityMod.controller('CommunityMembersCtrl', ['$scope',
function ($scope) {
$scope.name = 'Hello community';
}]);
本例中不同的控制器名称会导致错误,但本例是正确的
SECOND检查您是否已导入javascript文件:
<script src="modules/community/controllers/CommunityMembersCtrl.js"></script>
发布于 2013-07-28 20:42:40
我也有同样的错误信息(在我的例子中:“参数'languageSelectorCtrl‘不是一个函数,未定义”)。
在与Angular seed的代码进行了一些繁琐的比较之后,我发现我之前在app.js中删除了对控制器模块的引用。(在https://github.com/angular/angular-seed/blob/master/app/js/app.js上发现它)
所以我有了这个:
angular.module('MyApp', ['MyApp.filters', 'MyApp.services', 'MyApp.directives'])
这失败了。
当我添加缺失的引用时:
angular.module('MyApp', ['MyApp.filters', 'MyApp.services', 'MyApp.controllers', 'MyApp.directives'])
错误消息消失了,Angular可以再次实例化控制器。
https://stackoverflow.com/questions/17289236
复制相似问题