问题
Hi I have a table of data that I'm trying to access via ng-repeat. I think I've got everything correct in my code, but when I load the page the data doesn't load. I'm not sure what I'm doing wrong. Here is my table:
<table class="table table-bordered table-hover table-responsive"
ng-repeat="sale in vm.sales">
<thead>
<tr>
<th>
Date Ordered
</th>
<th>
Retail
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
{{ sale.dateOrdered }}
</td>
<td>
{{ sale.firstLoadRetail}}
</td>
</tr>
<tr>
<th>
Subtotal
</th>
</tr>
</tbody>
Here is my controller:
(function () {
'use strict';
angular
.module('crm.ma')
.controller('ReportCtrl', ReportCtrl);
function ReportCtrl() {
var vm = this;
vm.sale = [
{
dateOrdered: '05/10/2015',
firstLoadRetail: '75',
firstLoadCost: '65',
instantProfitAirTime: '9',
instantProfitSpiff: '59',
netRetail: '75',
netCost: '7',
netProfit: '67',
count: '0',
billAmount: '45'
},
{
dateOrdered: '06/22/2015',
firstLoadRetail: '85',
firstLoadCost: '75',
instantProfitAirTime: '10',
instantProfitSpiff: '86',
netRetail: '22',
netCost: '8',
netProfit: '22',
count: '0',
billAmount: '35'
}
];
}
I'm getting the error message Argument 'report.controller' is not a function, got undefined. Last time I got this error message I had a typo, but I'm not seeing any typos in my code this time.
回答1:
check below working code snippet -
angular
.module('myApp',[])
.controller('myCtrl', ['$scope', function($scope){
$scope.sales = [
{
dateOrdered: '05/10/2015',
firstLoadRetail: '75',
firstLoadCost: '65',
instantProfitAirTime: '9',
instantProfitSpiff: '59',
netRetail: '75',
netCost: '7',
netProfit: '67',
count: '0',
billAmount: '45'
},
{
dateOrdered: '06/22/2015',
firstLoadRetail: '85',
firstLoadCost: '75',
instantProfitAirTime: '10',
instantProfitSpiff: '86',
netRetail: '22',
netCost: '8',
netProfit: '22',
count: '0',
billAmount: '35'
}
];
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="myCtrl">
<table class="table table-bordered table-hover table-responsive" ng-repeat="sale in sales">
<thead>
<tr>
<th>
Date Ordered
</th>
<th>
Retail
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
{{ sale.dateOrdered }}
</td>
<td>
{{ sale.firstLoadRetail}}
</td>
</tr>
<tr>
<th>
Subtotal
</th>
</tr>
</tbody>
</div>
</div>
Hope this will solve you problem!
回答2:
Issues seems to be that you have the variable name as vm.sale in controller and looping thru vm.sales in html (extra s)
来源:https://stackoverflow.com/questions/33152883/angularjs-ng-repeat-not-working