0

私は、1つのコントローラー、1つのサービス、および手動でブートストラップするAngularJSアプリを構築しようとしています(いいえng-app)。問題は、エラーが発生し続けることです:

引数 'AppController' は関数ではありません。文字列を取得しました

HTML

<!DOCTYPE HTML>
<html xmlns:ng="http://angularjs.org">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js" type="text/javascript"></script>
        <script src="inc/bootstrap.js" type="text/javascript"></script>
        <script src="inc/controllers.js" type="text/javascript"></script>
        <script src="inc/services.js" type="text/javascript"></script>
    </head>
    <body ng-controller="AppController">
        [...]
    </body>
</html>

ブートストラップ.js

angular.element(document).ready(function() {
    angular.bootstrap(document, ['htmlControllerApp']);
});

controllers.js

angular.module('htmlControllerApp', [])
.controller('AppController', 'ConnectionService', ['$scope', function ($scope, ConnectionService) {
    // Code
}]);

services.js

angular.module('htmlControllerApp')
.factory('ConnectionService', ['$rootScope', function ($rootScope) {
    // Code
}]);

ありがとう


編集 - 解決策

controllers.jsでは、代わりに次を使用します。

angular.module('htmlControllerApp')
.controller('AppController', ['$scope', 'ConnectionService', function ($scope, ConnectionService) {
    // Code
}]);

bootstrap.jsでは、「良い習慣」として:

angular.module('htmlControllerApp', []);
angular.element(document).ready(function() {
    angular.bootstrap(document, ['htmlControllerApp']);
});

これにより、 bootstrap.jsでモジュールが 1 回だけ作成され、AngularJS はcontrollers.jsおよびservices.jsでそれを取得しようとします。

4

1 に答える 1