2014-12-06 119 views
0

我剛開始接觸AngulasJS,當我運行此代碼,我收到錯誤「參數‘teacherCtrl’是不是一個功能,得到了不確定的」,但它明確規定。請幫忙。角JS控制器不工作

<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

能否請您告訴我們您的完整代碼?你的'ng-init'在哪裏? – gdoron 2014-12-06 22:39:26

+0

http://stackoverflow.com/questions/25111831/controller-not-a-function-got-undefined-while-defining-controllers-globally/25111942#25111942的可能的複製? – PSL 2014-12-07 02:07:40

回答

1

前提是你已經設置了NG-應用,這裏的原因是:在角1.3+你不能定義這樣的控制器了。你需要整個事情:app.controller(...

這一切都歸結到你如何創建控制器。幸運的是,解決辦法是,你應該寫你的控制器(雖然你可以選擇到舊的行爲)的方式。當我教AngularJS在過去,我已經使用全局的功能,使故事簡單創建的控制器。通常當我以前教過它時,我試圖幫助人們理解概念,而不是最佳實踐。從AngularJS 1.3開始,這不是默認行爲。

瞭解更多關於在這裏:​​http://wildermuth.com/2014/11/11/Angular_1_3_and_Breaking_Change_for_Controllers