Angularjs未捕获错误:迁移到V1.3时出现[$injector:modulerr]
Angularjs Uncaught Error: [$injector:modulerr] when migrating to V1.3
我正在学习Angular.js,但我不知道这个简单的代码出了什么问题。它看起来很好,但给了我以下错误。
**Error**: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)
在添加ng-app="app"
之前(我只是将其保留为ng-app
),它给了我以下错误。为什么?
Error: [ng:areq] http://errors.angularjs.org/1.3.14/ng/areq?p0=Ctrl&p1=not%20a%20function%2C%20got%20undefined
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:6:417
at Sb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:19:510)
at tb (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:20:78)
at $get (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:75:331)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:57:65
at s (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:7:408)
at A (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:56:443)
at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:299)
at g (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js:51:316)
<!doctype html>
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<input ng-model="name">
<h1>{{name}}</h1>
<h2>{{age}}</h2>
</div>
<script>
var Ctrl = function($scope)
{
$scope.age = 24;
};
</script>
</body>
</html>
AngularJS 1.3版全局控制器功能声明禁用后
您需要首先创建一个AngularJS模块&然后将所有组件连接到该特定模块。
代码
function Ctrl($scope) {
$scope.age = 24;
}
angular.module('app', [])
.controller('Ctrl', ['$scope', Ctrl]);
特别是在您的案例中,AngularJS1.3.14
存在一些问题(将其降级为1.3.13
效果良好)。虽然我更喜欢你使用angular 1.2.27AngularJS 1.6.X,这是一个更稳定的版本&AngularJS的最新版本。
工作Plunkr
更新:
您可以通过允许在angular.config
中声明全局控制器来将当前代码转换为工作状态。但这不是运行angular应用程序的正确方式。
function Ctrl($scope) {
$scope.age = 24;
}
angular.module('app', [])
.config(['$controllerProvider',
function ($controllerProvider) {
$controllerProvider.allowGlobals();
}
]);
我自己也陷入了这个问题一段时间。按顺序检查以下内容:-
-
angular.js脚本的路径是正确的(无论您是从本地源代码还是作为外部资源在HTML中调用它)。
-
接下来,一旦你的angular.js正确,请检查你的应用程序是否已初始化。
您的app.js文件中的
var app=angular.module('app',[])
//html 中的
<body ng-app="app">
// -
接下来,在应用程序中注册您的控制器,并通过所有必要的注射
app.controller('myCtrl',function(){});
-
调用html文件中的javascript文件
<script src="app.js"></script>
您必须定义您的控制器
var app = angular.module('app', []);
app.controller('Ctrl', ['$scope',function($scope) {
$scope.age = 24;
}]);
确保ng-app="app_name"
定义必须与匹配
var app=angular.module(
'app_name'
,[])
<html ng-app="myApp">
<body>
<div ng-controller="Ctrl">
<input ng-model="name">
<h1>{{name}}</h1>
<h2>{{age}}</h2>
</div>
<script>
var app = angular.module('myApp',[]); // same to the above define appName
app.controller('Ctrl',function($scope){
$scope.age=24; // initialize age by injecting scope
});
</script>
</body>
<html>
有关更多详细信息,请访问此处
- 检查html文件中angularjs的版本
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular.min.js"></script>
- 在HTML文件中调用javascript文件
<script src="app.js"></script>
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 错误:$injector:modulerr加载图像时模块处于角度
- ng路由injectore:modulerr中出错[$injector:modulerr]http://errors.a
- 未捕获的错误: [$injector:modulerr] http ..(使用纯 HTML)
- 未捕获的错误:使用 ng-repeat 时出现 [$injector:modulerr]
- 未捕获的错误: [$injector:modulerr] - 角度 ng-include
- Error $injector:modulerr AngularJs
- Angularjs未捕获错误:迁移到V1.3时出现[$injector:modulerr]
- $injector:modulerr将自定义模块注入Angular应用程序
- 未捕获错误:[$injector:modulerr](新手)
- AngularJS错误:$injector:modulerr我的浏览器窗口中出现模块错误
- 获取未捕获错误:anuglar.js中的[$injector:modulerr]
- Angular应用程序无法安装,原因是出现错误:[$injector:modulerr]
- AngularJS - $injector:modulerr 模块错误在 angular.js:36.
- 未捕获的错误: [$injector:modulerr] 无法实例化模块 toastr
- Angularjs Error: [$injector:modulerr] 'ngRoute'
- 角度 JavaScript 缩小导致错误:$injector:modulerr 模块错误
- Injector:modulerr in the config (newbie)
- Angular js 未捕获错误:[$injector:modulerr] 匿名函数
- AngularJS : 未捕获错误: [$injector:modulerr] 使用 angularJS 的更新版本时