不允许全局控制器声明
在现代版本的 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中文网其他相关文章!