角度JS控制器不工作

Angular JS controller not working

本文关键字:工作 控制器 JS 角度      更新时间:2023-09-26

我刚刚开始使用AngulasJS,当我运行此代码时,我收到错误"参数'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>

前提是您已经设置了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