ホームページ > ウェブフロントエンド > jsチュートリアル > Angular 1.3 の「引数 'ContactController' は関数ではありません」エラーを修正する方法

Angular 1.3 の「引数 'ContactController' は関数ではありません」エラーを修正する方法

Linda Hamilton
リリース: 2024-12-01 21:56:14
オリジナル
545 人が閲覧しました

How to Fix

問題: グローバル コントローラー宣言エラー

Angular 1.3 では、グローバル スコープでのグローバル コントローラー宣言の使用が非推奨になりました。この問題は、「引数 'ContactController' は関数ではないため、未定義です」というエラーとして現れ、明示的に登録せずにコントローラーをグローバルに定義できなくなります。

解決策: モジュール構文を使用してコントローラーを登録する

これを修正するには、module.controller 構文を使用してコントローラーを登録する必要があります。例:

1

2

3

angular.module('app', []).controller('ContactController', ['$scope', function ContactController($scope) {

  // Controller logic

}]);

ログイン後にコピー

または、コントローラーを関数として挿入できます。

1

2

3

4

5

function ContactController($scope) {

  // Controller logic

}

ContactController.$inject = ['$scope'];

angular.module('app', []).controller('ContactController', ContactController);

ログイン後にコピー

グローバルをオンにする

グローバル宣言を使用したい場合は、でallowGlobalsを設定することでそれらを有効にできます。 $controllerProvider.

1

2

3

4

angular.module('app')

  .config(['$controllerProvider', function($controllerProvider) {

    $controllerProvider.allowGlobals();

  }]);

ログイン後にコピー

追加メモ

  • アプリ名がルート要素の ng-app ディレクティブに含まれていることを確認してください (例: ng-app="myApp") ).
  • 正しいスクリプトが含まれていることを確認してください。
  • は避けてください。同じモジュールを異なる場所で 2 回定義すると、以前に登録されたエンティティが上書きされる可能性があります。

以上がAngular 1.3 の「引数 'ContactController' は関数ではありません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート