1

選択ドロップダウンにデータを入力する方法について以前に質問しました

これを実装しようとしたとき:

<html lang="en" class="light" data-ng-app="test">
<body data-ng-controller="TestCtrl">
...

    <script type="text/javascript">
        $(document).ready(function () {
            angular.module('test', []).controller('TestCtrl', function ($scope, $http) {
                $scope.selectedTestAccount = null;
                $scope.testAccounts = [];

                $http({
                    method: 'GET',
                    url: '/Admin/GetTestAccounts',
                    data: { applicationId: 3 }
                }).success(function (result) {
                    $scope.testAccounts = result;
                });
            });
        });
    </script>

しかし、Chrome 開発者ツールで次のようなエラーが表示されます。

Uncaught Error: No module: test

私の投稿に回答した人が、HTML で Angular が実行され、モジュールが読み込まれていることを確認する必要があると述べていることに気付きました。Angular をスクリプト領域に含めましたが、それでも上記のメッセージが表示されます。誰かが私が間違っているかもしれないことを教えてもらえますか?

4

2 に答える 2

3

ngApp宣言の上に置くmoduleと、明らかに、角度は宣言されるmodule に開始しようとします。

次の 2 つのオプションがあります。

  1. モジュール宣言を に置くと、ディレクティブが初期化を試みるheadときに準備が整います。ngApp

  2. を使用してアプリケーションを手動で初期化しますangular.bootstrap

手動で初期化する:

angular.bootstrap(angular.element("body")[0], ["test"]);

ドキュメント:
http://docs.angularjs.org/api/angular.bootstrap

于 2013-03-29T06:42:56.220 に答える
2

ディレクティブを使用します。そのようにjQueryを使用しないでください。これは、強力な jQuery バックグラウンドから angular を開始したときの最初の (そして主な) エラーでした。

dom 要素を操作する必要がある場合、ほとんどの場合、正しい方法はディレクティブです

http://docs.angularjs.org/guide/directive

于 2013-03-29T08:50:08.363 に答える