2016-03-24 92 views
0

我試圖讓我的第一控制器和收到此錯誤:AngularJS錯誤:[NG:AREQ]參數 '的TestController' 不是一個函數,得到了不確定

錯誤:[NG:AREQ]參數「 TestController'是不是一個函數,得到了undefined

我簡化了我的代碼找到錯誤,但沒有運氣。它看起來像我在創建腳本中的控制器和書籍數組,並在div中引用控制器的字母。我錯過了什麼?

<!doctype html> 
<html data-ng-app> 
<head> 
    <meta charset="utf-8"/> 
</head> 
<body> 

    <div data-ng-controller="TestController"> 
     <ul> 
      <li data-ng-repeat="b in books">{{ b.title + ' by ' + b.author }}</li> 
     </ul> 
    </div> 

    <script src="angular.js"></script> 
    <script> 
     function TestController() { 
      this.books = [{title: 'Angela', author: 'Donald Duck'}, {title: 'Angles', author: 'Dirty Harry'}]; 
     } 
    </script> 
</body> 
</html> 
+0

我下面的教程和JB Nizet指出我的知識是「過時的」。我發現它在1.3.0-beta的前半部分後停止工作。 –

回答

1

它已經很長時間了,因爲全局函數不再是angular.js中的控制器了。您需要註冊功能爲您的模塊中的控制器:

<html ng-app="myApp"> 

,並在JS代碼:

angular.module("myApp", []).controller('TestController', function($scope) { 
    $scope.books = ...; 
}); 

你的角知識外的日期。重新閱讀文檔。

0

或更簡化的方式

angular.module("myApp", []).controller('TestController', TestController); 

function TestController($scope) { 
$scope.books= [{title: 'Angela', author: 'Donald Duck'}, {title: 'Angles', author: 'Dirty Harry'}]; 

} 
相關問題