Rumah >hujung hadapan web >tutorial js >Mengapa Saya Mendapat 'Pengawal bukan fungsi, tidak ditentukan' dalam AngularJS?
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
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!