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
Lepaskan: 2024-12-04 03:24:11
asal
509 orang telah melayarinya

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
    }]);
Salin selepas log masuk

Atau, menggunakan suntikan kebergantungan:

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

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();
    }]);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan