AngularJS错误加载控制器

时间:2016-01-29 08:41:25

标签: javascript angularjs

我有一个非常愚蠢的问题,但我不知道如何解决它。我有一个加载了AngularJS的index.html文件。我正在使用Plunker来测试代码:

<!DOCTYPE html>
<html ng-app="">

  <head>
    <script data-require="angular.js@1.4.8" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-controller="BodyController">
    <h1>{{ message }}</h1>
  </body>

</html>

script.js文件包含以下信息:

var BodyController = function($scope) {
  $scope.message = "Hi Angular!"
}

在检查员中说:

Error: [ng:areq] Argument 'BodyController' is not a function, got undefined

脚本已加载。我在JS文件中定义了控制器并附加了ng-controller指令,所以我不知道这可能会失败。

4 个答案:

答案 0 :(得分:4)

这是AngularJS的basic

首先需要创建module

HTML

然后,在那里注册您的控制器:

ng-app

并且,在您的<html ng-app="foo"></html> 标记中,将foo更改为:

bar

答案 1 :(得分:3)

您需要将控制器添加到Angular模块。

angular.module('app', [])
.controller('BodyController', function($scope) {
  $scope.message = "Hi Angular!"
})

有关如何设置控制器的更多信息 https://docs.angularjs.org/guide/controller

答案 2 :(得分:3)

在HTML中,添加

<html ng-app="myapp">

,脚本是

angular.module('myapp', []).controller('BodyController',BodyController)

答案 3 :(得分:1)

有几个错误

  1. ng-app未设置
  2. 未定义角度模块
  3. 未定义控制器
  4. &#13;
    &#13;
    angular.module('app', [])
    .controller('BodyController', function($scope) {
      $scope.message = "Hi Angular!"
    });
    &#13;
    <html ng-app="app">
      <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
      </head>
    
      <body ng-controller="BodyController">
        <h1>{{ message }}</h1>
      </body>
    </html>
    &#13;
    &#13;
    &#13;