我刚刚开始使用AngulasJS,当我运行此代码时,我收到错误" Argument' teacherCtrl'不是一个函数,未定义",但它是明确定义的。请帮忙。
<body>
<script>
function teacherCtrl($scope) {
$scope.teachers = [
{ name: 'Bill Melega', subject: 'History'},
{ name: 'Top Stanfa', subject: 'English'},
{ name: 'Mike Bremer', subject: 'English'}
];
}
</script>
Name: <input type="text" ng-model="search"> {{search}}
<table ng-controller="teacherCtrl">
<tr ng-repeat="teacher in teachers | filter:search">
<td ng-repeat="property in teacher">
{{ property }}
</td>
</tr>
</table>
</body>
答案 0 :(得分:1)
如果您已经设置了ng-app,原因如下:在Angular 1.3+中,您无法再定义这样的控制器。你需要整件事:app.controller(...
。
这一切都取决于你如何创建控制器。幸运的是,修复是您应该编写控制器的方式(尽管您可以选择旧的行为)。当我过去教过AngularJS时,我使用全局函数创建了控制器,因为这使故事变得简单。通常当我以前教过它时,我试图帮助人们理解概念,而不是最佳实践。从AngularJS 1.3开始,这不是默认行为。
在此处详细了解:http://wildermuth.com/2014/11/11/Angular_1_3_and_Breaking_Change_for_Controllers