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中文网其他相关文章!