AngularJS 中的錯誤:控制器註冊
問題:
嘗試定義全域控制器時在AngularJS 應用程式中,錯誤“控制器不是函數,未定義”
答案:
從 AngularJS 1.3 開始,不再支援全域控制器聲明。現在必須使用 module.controller 語法註冊控制器。
註冊方法:
angular.module('app', []).controller('ContactController', ['$scope', function($scope) { // Controller logic }]);
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
替代方案:允許全域變數
使用可以透過在$controllerProvider 中設定allowedGlobals 來重新啟用全域控制器:
angular.module('app').config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
其他注意事項:
以上是為什麼我的 AngularJS 控制器未定義,如何正確註冊它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!