Rumah >hujung hadapan web >tutorial js >Mengapa Saya Mendapat 'Pengawal bukan fungsi, tidak ditentukan' dalam AngularJS?

Mengapa Saya Mendapat 'Pengawal bukan fungsi, tidak ditentukan' dalam AngularJS?

Susan Sarandon
Susan Sarandonasal
2024-12-04 03:24:11583semak imbas

Why Am I Getting

Pengisytiharan Pengawal Global Tidak Dibenarkan

Dalam versi moden AngularJS (1.3 ), mentakrifkan pengawal secara global pada skop global tidak lagi disokong. Mesej ralat "Controller not a function, got undefined" menunjukkan isu ini.

Untuk mendaftarkan pengawal dengan betul, gunakan sintaks modul.controller pilihan. Berikut ialah contoh:

angular.module('app', [])
    .controller('ContactController', ['$scope', function ContactController($scope) {
        // Controller logic
    }]);

Atau, menggunakan suntikan kebergantungan:

function ContactController($scope) {
    // Controller logic
}
ContactController.$inject = ['$scope'];
angular.module('app', []).controller('ContactController', ContactController);

Membenarkan Pengawal Global

Sebagai perubahan besar, pengawal global pengisytiharan telah dilumpuhkan. Walau bagaimanapun, ini boleh didayakan semula dengan menggunakan allowGlobals.

angular.module('app')
    .config(['$controllerProvider', function($controllerProvider) {
        $controllerProvider.allowGlobals();
    }]);

Pertimbangan Tambahan

  • Pastikan elemen punca sudut yang betul termasuk arahan ng-app .
  • Sahkan fail skrip yang betul adalah disertakan.
  • Elakkan mentakrifkan modul yang sama beberapa kali, yang mungkin mengosongkan entiti yang telah didaftarkan sebelum ini.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Pengawal bukan fungsi, tidak ditentukan' dalam AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn