我在角度应用程序中遇到以下错误:Error: [ng:areq] Argument 'HomeController' is not a function, got undefined。我的JS和HTML如下。这实际上是离子/ cordova项目的一部分,但here is a simplified jsfiddle我遇到了同样的问题。
我的JS:
var app = angular.module('TourneyTime', ['ionic']);
app.controller = ('HomeController', function($scope) {
$scope.players = "testing";
});
这是我的HTML:
<html ng-app="TourneyTime">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World!</title>
<link href="bower_components/ionic/lib/css/ionic.css" rel="stylesheet">
<link href="css/app.css" rel="stylesheet">
<script src="bower_components/ionic/lib/js/ionic.bundle.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-controller="HomeController">
<div class="app">
<h1>Apache Cordova</h1>
<h1>{{players}}</h1>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script src="bower_components/jquery/dist/jquery-2.1.4.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
导致此错误的原因是什么?我计划使用$stateProvider
和$urlRouterProvider
,但首先使用内联ng-controller
属性尝试了这个简单的示例,并遇到了此错误。我想我正在使用正确的语法,但如果我错了,请纠正我。
非常感谢你的时间。如果您需要任何其他信息或我不清楚,请告诉我。
答案 0 :(得分:3)
controller()本身就是一个被调用的函数,而不是你正在分配的属性。
请改为尝试:
var app = angular.module('TourneyTime', ['ionic']);
app.controller('HomeController', function($scope) {
$scope.players = "testing";
});
答案 1 :(得分:1)
将您的代码更新为
app.controller('HomeController', function($scope) {
$scope.players = "testing";
});
答案 2 :(得分:1)
正确的代码应该是:
var app = angular.module('TourneyTime', ['ionic']);
app.controller('HomeController', function($scope){
//code
});