グローバル コントローラー宣言は許可されません
最新バージョンの AngularJS (1.3 ) では、グローバル スコープでグローバルにコントローラーを定義することはサポートされなくなりました。 「コントローラーは関数ではありません。未定義です」というエラー メッセージは、この問題を示しています。
コントローラーを正しく登録するには、推奨される module.controller 構文を使用してください。以下に例を示します:
angular.module('app', []) .controller('ContactController', ['$scope', function ContactController($scope) { // Controller logic }]);
または、依存関係注入を使用します:
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
グローバル コントローラーを許可する
破壊的変更として、グローバル コントローラー宣言は無効になりました。ただし、これは、allowGlobals を使用することで再度有効にすることができます。
angular.module('app') .config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
追加の考慮事項
以上がAngularJS で「コントローラーは関数ではありません。未定義です」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。