Angular 1.3 已棄用在全域範圍內使用全域控制器聲明。此問題表現為錯誤,指出“參數‘ContactController’不是函數,未定義”,從而阻止在未明確註冊的情況下全域定義控制器。
要解決此問題,應使用 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);
如果您喜歡使用全域聲明,您可以可以透過在$controllerProvider中設定allowGlobals來啟用它們。
angular.module('app') .config(['$controllerProvider', function($controllerProvider) { $controllerProvider.allowGlobals(); }]);
以上是如何修復 Angular 1.3 中的「參數'ContactController'不是函數」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!