2014-10-26 113 views
0

我刚才给出了一个尝试。我在CustomersController.js中定义了一个控制器。但是,当我运行时出现错误“错误:错误:areq错误论据”。我的CustomersController未找到。任何将不胜感激。谢谢。未找到控制器

这里是我的HTML文件:

<!DOCTYPE html> 
<html lang="en" data-ng-app> 
<head> 
    <meta charset="UTF-8"> 

    <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> 
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700,800,300' rel='stylesheet' type='text/css'> 

</head> 
<body ng-controller="CustomersController"> 

    <h2>Customers</h2> 
    Filter: <input type="text" ng-model="customerFilter.name" /> 

    <table> 
     <tr> 
      <th ng-click="doSort('name')">Name</th> 
      <th ng-click="doSort('city')">City</th> 
      <th ng-click="doSort('orderTotal')">Order Total</th> 
      <th ng-click="doSort('joined')">Joined</th> 
     </tr> 

     <tr ng-repeat="cust in customers | filter:customerFilter | orderBy:sortBy:reverse"> 
      <td>{{ cust.name }}</td> 
      <td>{{ cust.city }}</td> 
      <td>{{ cust.orderTotal | currency }}</td> 
      <td>{{ cust.joined | date }}</td> 
     </tr> 
    </table> 

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script> 
    <script src="app/controllers/customersController.js"></script> 
</body> 
</html> 

,这里是我的CustomerController.js

function CustomersController($scope){ 
    $scope.sortBy = 'name'; 
    $scope.reverse = false; 
    $scope.customers = [ 
     { 
      joined: "2000-12-24", 
      name: "Charles", 
      city: "Fairfax", 
      orderTotal: "12414432.45" 
     }, 
     { 
      joined: "2000-09-12", 
      name: "Jack", 
      city: "Altamonte Springs", 
      orderTotal: "5.9943" 
     }, 
     { 
      joined: "2000-01-25", 
      name: "Bill", 
      city: "Waldorf", 
      orderTotal: "100" 
     } 
    ], 
    $scope.doSort = function(propName){ 
     $scope.sortBy = propName; 
     $scope.reverse = !$scope.reverse; 
    }; 
} 

回答

0

请该行添加到您的CustomerController.js

angular.module("app", []).controller("CustomersController", CustomersController); 

angular.module("app", []).controller("CustomersController", CustomersController); 
 

 

 

 
function CustomersController($scope) { 
 
    $scope.sortBy = 'name'; 
 
    $scope.reverse = false; 
 
    $scope.customers = [{ 
 
     joined: "2000-12-24", 
 
     name: "Charles", 
 
     city: "Fairfax", 
 
     orderTotal: "12414432.45" 
 
    }, { 
 
     joined: "2000-09-12", 
 
     name: "Jack", 
 
     city: "Altamonte Springs", 
 
     orderTotal: "5.9943" 
 
    }, { 
 
     joined: "2000-01-25", 
 
     name: "Bill", 
 
     city: "Waldorf", 
 
     orderTotal: "100" 
 
    }], 
 
    $scope.doSort = function(propName) { 
 
     $scope.sortBy = propName; 
 
     $scope.reverse = !$scope.reverse; 
 
    }; 
 
}
<!DOCTYPE html> 
 
<html lang="en" data-ng-app="app"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 

 
    <link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> 
 
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700,800,300' rel='stylesheet' type='text/css'> 
 

 
</head> 
 

 
<body ng-controller="CustomersController"> 
 

 
    <h2>Customers</h2> 
 
    Filter: 
 
    <input type="text" ng-model="customerFilter.name" /> 
 

 
    <table> 
 
    <tr> 
 
     <th ng-click="doSort('name')">Name</th> 
 
     <th ng-click="doSort('city')">City</th> 
 
     <th ng-click="doSort('orderTotal')">Order Total</th> 
 
     <th ng-click="doSort('joined')">Joined</th> 
 
    </tr> 
 

 
    <tr ng-repeat="cust in customers | filter:customerFilter | orderBy:sortBy:reverse"> 
 
     <td>{{ cust.name }}</td> 
 
     <td>{{ cust.city }}</td> 
 
     <td>{{ cust.orderTotal | currency }}</td> 
 
     <td>{{ cust.joined | date }}</td> 
 
    </tr> 
 
    </table> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script> 
 
    <script src="app/controllers/customersController.js"></script> 
 
</body> 
 

 
</html>

+0

谢谢sss。我一直在寻找这个约2小时 – dowomenfart 2014-10-26 21:49:21

+0

@ Donte'Trumble不客气 – sylwester 2014-10-26 21:55:03

0

控制器,服务,指令和过滤器都应包含在Angular模块中。定义页面控制器有两种主要方法。要么使用routing,要么使用ngController。您正在尝试使用ngController,但尚未定义该模块。

在你的HTML中,你可以用ngApp定义你的主模块。

所以你的HTML标签能读:

<html lang="en" data-ng-app="myApp"> 

然后您可以分配现有的CustomersController这个模块:

angular.module('myApp', []) 
    .controller('CustomersController', CustomersController); 

或者,另一种方法是简单地在一个定义控制器逻辑控制器块与:

angular.module('myApp', []) 
    .controller(function() { 
    // your logic here 
    });