AngularJS-Eclipse:找不到我的控制器

时间:2016-03-06 10:54:04

标签: angularjs eclipse

我正在使用带有angularJS的eclipse来制作我应用的前端。我没有第一次使用角度,但第一次使用它时会使用它。

已经安装了AngularJS插件,我在视图和控制器之间建立了链接。我将我的项目转换为AngularJS项目。 Angular正在工作(输入ng-model =“a”{{a}}完成工作)但chrome终端给我一个错误:

  

错误:[ng:areq] http://errors.angularjs.org/1.5.0/ng/areq?p0=HomeController&p1=not%20aNaNunction%2C%20got%20undefined

的index.html

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

    <head>
        <meta charset="UTF-8">
        <title>Mon Titre</title>

        <link rel="stylesheet" type="text/css" href="resources/css/bootstrap.min.css" />
        <link rel="stylesheet" type="text/css" href="resources/css/style.css" />
        <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular.min.js"></script>
        <script type="text/javascript" src="https://code.angularjs.org/1.5.0/angular-route.js"></script>
        <script type="text/javascript" src="resources/js/angular/controller/MainController.js"></script>
        <script type="text/javascript" src="resources/js/angular/controller/HomeController.js"></script>
        <script type="text/javascript" src="resources/js/angular/controller/CategoryController.js"></script>
        <script type="text/javascript" src="resources/js/angular/app.js"></script>
    </head>
    <body >
        <div ng-view></div>

    </body>
</html>

app.js

var app = angular.module("app", ["ngRoute"]); // Already tried to inject controllers
app.config(function ($routeProvider) {
  $routeProvider
      .when('/', {
        templateUrl: 'pages/accueil.html',
        controller: 'HomeController'
      })
      .when('/categories', {
        templateUrl: 'pages/categorie-list.html', 
        controller: 'CategoryController'
      })
      .otherwise({
        redirectTo: '/'
      });
});

HomeController.js

var app = angular.module("app",[]);

app.controller("HomeController", function($scope){
    $scope.bonjour ='I\'m home controller !';
});

CategoryController.js

var app = angular.module("app",[]);

app.controller("CategoryController", function($scope){
    $scope.bonjour = 'I\'m category controller';
});

.html只包含一个{{bonjour}}。 感谢您的帮助,抱歉这个低英语!

1 个答案:

答案 0 :(得分:2)

在HomeController.js和CategoryController.js中替换

var app = angular.module("app",[]); // create new app module

var app = angular.module("app"); // use existing app module

在控制器脚本之前移动app.js脚本:

<script src="https://code.angularjs.org/1.5.0/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.0/angular-route.js"></script>
<script src="resources/js/angular/app.js"></script>
<script src="resources/js/angular/controller/MainController.js"></script>
<script src="resources/js/angular/controller/HomeController.js"></script>
<script src="resources/js/angular/controller/CategoryController.js"></script>