找不到名称为NameCtrl的控制器

时间:2015-12-22 14:16:38

标签: javascript angularjs

我正在使用在STS(Eclipse)中配置的AngularJS。我们如何解决这个错误?

  

找不到名称为NameCtrl的控制器。

HTML

<html ng-app>
<head>
<meta charset="ISO-8859-1">
<title>AJ Example</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js" ></script>
    <script>
      function NameCtrl($scope){
        $scope.firstName = 'John';
        $scope.lastName = 'Smith';
      }
    </script>
  </head>
  <body ng-controller="NameCtrl">
    First name:<input ng-model="firstName" type="text"/>
    <br>
    Last name:<input ng-model="lastName" type="text"/>
    <br>
    Hello {{firstName}} {{lastName}}
  </body>
</html>

2 个答案:

答案 0 :(得分:4)

从angular vs 1.3.x开始,您必须将控制器与模块绑定才能使用。

喜欢这个

angular
   .module("app",[])
   .controller("NameCtrl",function($scope){
     $scope.firstName = 'John';
     $scope.lastName = 'Smith';
})

在html中添加模块名称

<html ng-app="app">

JSFIDDLE

答案 1 :(得分:0)

1.您需要先定义一个角度应用程序(此处名为'myApp')。

2.在该app中定义一个角度模块。

3.定义该模块内的控制器。

4.将该模块绑定到控制器,将控制器绑定到angulaJS app。

var app =  angular.module("myApp", []);
app.controller("NameCtrl", function($scope) {
  $scope.firstName = "John";
  $scope.lastName = "Smith";
});