不允許全域控制器聲明
在現代版本的AngularJS (1.3 ) 中,不再支援在全域範圍內全域定義控制器。錯誤訊息“控制器不是函數,未定義”表明了此問題。
要正確註冊控制器,請使用首選 module.controller 語法。以下是範例:
angular.module('app', []) .controller('ContactController', ['$scope', function ContactController($scope) { // Controller logic }]);
或者,使用相依性注入:
function ContactController($scope) { // Controller logic } ContactController.$inject = ['$scope']; angular.module('app', []).controller('ContactController', ContactController);
允許全域控制器
作為一項重大更改,全域控制器聲明已停用。但是,可以使用allowGlobals重新啟用此功能。
angular.module('app') .config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
其他注意事項
以上是為什麼我在 AngularJS 中收到'控制器不是函數,未定義”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!