为了账号安全,请及时绑定邮箱和手机立即绑定

Angularjs未明错误:[$喷射器:Moderr]迁移到V1.3时

Angularjs未明错误:[$喷射器:Moderr]迁移到V1.3时

达令说 2019-07-04 17:55:18
Angularjs未明错误:[$喷射器:Moderr]迁移到V1.3时我正在学习Angular.js,我无法发现这个简单的代码有什么问题。它看起来很好,但给了我以下错误。**Error**: Uncaught Error: [$injector:modulerr]   $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>
查看完整描述

3 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

在AngularJS版本1.3全局控制器函数声明被禁用后

您需要首先创建一个AngularJS模块&然后将所有组件附加到该特定模块。

电码

function Ctrl($scope) {
    $scope.age = 24;}angular.module('app', [])
    .controller('Ctrl', ['$scope', Ctrl]);

对于您的情况,AngularJS有一些问题。1.3.14(将其降级为1.3.13工作得很好)。虽然我希望你用角1.2.27AngularJS 1.6.X,这是一个更稳定的版本&AngularJS的最新版本。

工作Plunkr

最新情况:

通过允许全局控制器声明,您可以将当前代码执行到工作状态。angular.config..但这不是运行角应用程序的正确方法。

function Ctrl($scope) {
    $scope.age = 24;}angular.module('app', [])
    .config(['$controllerProvider',
        function ($controllerProvider) {
            $controllerProvider.allowGlobals();
        }
    ]);


查看完整回答
反对 回复 2019-07-04
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

我自己在这个问题上被困了一段时间。检查下列事项:-

  1. 指向angular.js脚本的路径是正确的(无论您是从本地源还是作为外部资源在HTML中调用它)。

  2. 接下来,一旦你的angular.js是正确的,检查你的应用程序是否被初始化。

    var app=angular.module('app',[])/在app.js文件中

    <body ng-app="app">/在您的html中

  3. 接下来,使用应用程序注册您的控制器,并传递所有必要的注入。

    app.controller('myCtrl',function(){});

  4. 在html文件中调用javascript文件

    <script src="app.js"></script>


查看完整回答
反对 回复 2019-07-04
?
MMTTMM

TA贡献1869条经验 获得超4个赞

确保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>

欲知更多详情,请访问这里


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 505 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信