0

最初のコントローラーを作成しようとすると、次のエラーが発生します。

エラー: [ng:areq] 引数 'TestController' は関数ではありません。未定義です

エラーを見つけるためにコードを単純化しましたが、うまくいきません。スクリプトでコントローラーとbooks配列を作成し、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>
4

2 に答える 2

1

angular.js でグローバル関数がコントローラーではなくなってから、かなり時間が経ちました。関数をモジュールにコントローラーとして登録する必要があります。

<html ng-app="myApp">

そしてJSコードでは:

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

あなたの角度に関する知識は古くなっています。ドキュメントを読み直してください。

于 2016-03-24T17:06:55.413 に答える