我剛剛在幾天前開始使用AngularJS進行開發,而這個問題真的讓我感到困擾。AngularJS:無法定義控制器
我不斷收到此錯誤:
Error: ng:areq
Bad Argument
Argument 'NewStudentCtrl' is not a function, got undefined
所有其他控制器的工作,因爲我在其他文件中使用它們,只是3210將無法正常工作。 我已經嘗試了很多不同的東西,只有一個工作:在使用控制器之前,在HTML文件本身內部使用function NewStudentCtrl ($scope) {}
來定義控制器。問題是我想將HTML和JS拆分爲單獨的文件。
請注意,提供的源代碼被簡化了很多,可能會有少許縮進或語法錯誤。
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<script>var app = angular.module('myApp',[]);</script>
</head>
<body>
<div ng-controller="NewStudentCtrl">
<div ng-controller="AccountMenuCtrl">
</div>
<script src="js/account-menu.js">
function AccountMenuCtrl ($scope) {
}
</script>
<div ng-controller="OrtsteileCtrl">
<option value="{{ortsteil.ID}}" ng-repeat="ortsteil in ortsteile">
{{ortsteil.Name}}
</option>
</div>
</div> <!-- end NewStudentCtrl -->
<!-- Loading dependencies -->
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/new-student.js">
var app = angular.module("myApp");
function NewStudentCtrl ($scope) {
}
</script>
<script src="js/plz.js">
angular.module('myApp').controller('OrtsteileCtrl', ['$scope', '$http',
function($scope, $http) {
}]);
</script>
</body>
</html>
你在哪裏定義了'NewStudentCtrl'? –
在這個簡化版本中,定義在第30行。 –
爲什麼不像定義'OrtsteileCtrl'那樣定義它? –