我是angular.js的新手,并继承了代码.有一个使用ng-repeat显示的数据集(customerType).仅当customerType.type等于"new"时,我才想显示3个表行.这三行在下面各自的标签中都有"ng-hide =".我如何在angular.js中执行此操作?我看到的指令似乎都适用于整个屏幕显示,所以我不知道如何仅为部分显示更改范围变量.这是html:
<div ng-repeat="customerType in customerTypes" class="span6">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th colspan="3">
<div class="span11 centered-text">
{{customerType.title}}
</div>
<div class="span1">
<a href="javascript:void(0);" ng-click="pullDetail(customerType.type, customerType.clients)" title="Details"><i class="icon-list-alt"></i></a>
</div>
</th>
</tr>
<tr>
<th></th>
<th>
<div class="centered-text">
Month Selected
</div>
</th>
<th>
<div class="centered-text">
YTD
</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Revenue</td>
<td>{{customerType.month.revenue}}</td>
<td>{{customerType.ytd.revenue}}</td>
</tr>
<tr>
<td>Gross Profit</td>
<td>{{customerType.month.gross}}</td>
<td>{{customerType.ytd.gross}}</td>
</tr>
<tr>
<td># of Customers</td>
<td>{{customerType.month.customers}}</td>
<td>{{customerType.ytd.customers}}</td>
</tr>
<tr>
<td>Avg GP per Customer</td>
<td>{{customerType.month.avg_gp}}</td>
<td>{{customerType.ytd.avg_gp}}</td>
</tr>
<tr>
<td># of Jobs</td>
<td>{{customerType.month.jobs}}</td>
<td>{{customerType.ytd.jobs}}</td>
</tr>
<tr ng-hide=>
<td>First Time Client - Revenue</td>
<td>{{customerType.month.ftc_revenue}}</td>
<td>N/A</td>
</tr>
<tr ng-hide=>
<td>First Time Client - Gross Profit</td>
<td>{{customerType.month.ftc_gross}}</td>
<td>N/A</td>
</tr>
<tr ng-hide=>
<td>First Time Client - # of Customers</td>
<td>{{customerType.month.ftc_customers}}</td>
<td>-----</td>
</tr>
<tr ng-hide=>
<td>First Time Client - # of Jobs</td>
<td>{{customerType.month.ftc_jobs}}</td>
<td>-----</td>
</tr>
<tr>
<td>% on Contract</td>
<td>{{customerType.month.contract}}</td>
<td>{{customerType.ytd.contract}}</td>
</tr>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
以下是当前的指令:
var ReportController = function($scope, $http){
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
$scope.filter = true;
$scope.report = false;
$scope.detail = false;
$scope.customerTypes = [];
$scope.detail_report = [];
$scope.companies = companies;
$scope.nsperiods = nsperiods;
$scope.users = users;
$scope.pullReport = function(sync){
if(sync){
var xsr = {request: 'report', company_no: $scope.company, nsperiod: $scope.nsperiod, users_no: $scope.user};
$('form button').button('loading');
$http({
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: xsr
}).success(function(response){
$scope.filter = false;
$scope.report = true;
$scope.detail = false;
$('form button').button('reset');
$scope.customerTypes = response;
}).error(function(error){
$('form button').button('reset');
return;
});
}else{
$scope.filter = false;
$scope.report = true;
$scope.detail = false;
}
}
$scope.backToFilters = function(){
$scope.filter = true;
$scope.report = false;
$scope.detail = false;
}
$scope.pullDetail = function(type, clients){
var xsr = {
request: 'detail',
type: type,
company_no: $scope.company,
nsperiod: $scope.nsperiod,
users_no: $scope.user
};
$http({
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: xsr
}).success(function(response){
$scope.filter = false;
$scope.report = false;
$scope.detail = true;
$scope.detail_report = response;
}).error(function(error){
return;
});
}
};
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.我试图绕过这个,但事情并没有完全连接.
Aus*_*eco 29
只是根据该变量显示/隐藏?
我会做:
ng-show="customerType.type == 'new'"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32200 次 |
| 最近记录: |