ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJS コントローラーが未定義なのはなぜですか? 正しく登録するにはどうすればよいですか?
AngularJS のエラー: コントローラーの登録
質問:
コントローラーをグローバルに定義しようとしたときAngularJS アプリケーションで、「コントローラーは関数ではありません。未定義です」というエラーが発生する
答え:
AngularJS 1.3 以降、グローバル コントローラー宣言はサポートされなくなりました。コントローラーは module.controller 構文を使用して登録する必要があります。
登録メソッド:
angular.module('app', []).controller('ContactController', ['$scope', function($scope) { // Controller logic }]);
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
代替: グローバルを許可
グローバルの使用コントローラーは、$controllerProvider:
angular.module('app').config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
でallowGlobalsを設定することで再度有効にできます。追加の考慮事項:
以上がAngularJS コントローラーが未定義なのはなぜですか? 正しく登録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。