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!