Angular JS控制器无法正常工作

时间:2014-12-06 22:34:13

标签: javascript angularjs controller

我刚刚开始使用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>

1 个答案:

答案 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