我正在学习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
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]);
专门针对您的情况,AngularJS存在一些问题 1.3.14 (将其降级为 1.3.13 正常)。虽然我希望您使用 angular 1.2.27 AngularJS 1.6.X,这是AngularJS的更稳定版本和最新版本。
1.3.14
1.3.13
更新:
您可以通过在其中允许全局控制器声明来将当前代码设置为工作状态angular.config。但这不是运行角度应用程序的正确方法。
angular.config
function Ctrl($scope) { $scope.age = 24; } angular.module('app', []) .config(['$controllerProvider', function ($controllerProvider) { $controllerProvider.allowGlobals(); } ]);