AngularJS控制器注册失败问题求助(v1.8.2)
解决AngularJS控制器未注册错误(Error: [$controller:ctrlreg])
核心修复步骤
定义并关联AngularJS模块:控制器必须注册在模块下,不能直接定义。在
<head>中添加以下代码(确保在AngularJS库之后加载):<script> // 定义模块(如果已有站点模块,替换成现有模块名,不要重复定义) var app = angular.module('myApp', []); // 注册控制器到模块 app.controller('MyControllerTest', function($scope) { // 这里写控制器逻辑,比如绑定测试数据 $scope.testText = '控制器已正常工作'; }); </script>页面根元素绑定模块:在
<html>或<body>标签添加ng-app指令,关联定义的模块:<html ng-app="myApp">检查控制器引用正确性:使用控制器的元素上,
ng-controller的名称必须和注册的完全一致(大小写敏感):<div ng-controller="MyControllerTest"> {{ testText }} </div>
常见错误排查
- 未定义模块直接写控制器:AngularJS 1.3+默认禁用全局控制器,必须归属到某个模块
ng-app指令缺失或模块名拼写错误- 控制器名称大小写不匹配,比如注册
MyControllerTest却写成mycontrollertest - 脚本加载顺序错误:控制器脚本必须在AngularJS核心库之后加载
内容的提问来源于stack exchange,提问作者Jake0657
相关产品推荐
相关产品推荐

