我有一个看起来像这样的json对象
{
"entityType": "ABC",
"entityId": "1234",
"transactionId": "fdsfs1234",
"modifiedDate": 1460778320876,
"modifiedBy": "pratik",
"modifyingService": "XYZ",
"modifyingAPI": "update"
}
使用这个json我使用ng-repeat创建div列表。这是代码:
<div class="" layout="row" ng-repeat="(key, value) in Detail">
<div layout="row" class="tableDiv">
<div class="fixTdDivKey" ng-if="shouldDisplayKey(key)">
<label>{{key}}</label>
</div>
<div class="fixTdDivValue" ng-if="shouldDisplayValue(key)">
<div class="preDiv">{{value}}</div>
</div>
</div>
</div>
现在当加载它时我想根据键名隐藏一些div,然后当我点击按钮说(显示基本)时应该显示所有这些div,当我点击按钮时再次隐藏(隐藏基本)
有人可以指点我正确的方向吗?
由于
答案 0 :(得分:1)
试试这个,它会帮助你
var app = angular.module("mainApp", []);
app.controller('mainCtrl', function($scope) {
$scope.Detail = {
"entityType": "ABC",
"entityId": "1234",
"transactionId": "fdsfs1234",
"modifiedDate": 1460778320876,
"modifiedBy": "pratik",
"modifyingService": "XYZ",
"modifyingAPI": "update"
}
$scope.notToDisplay = ['modifyingAPI', 'modifyingService'];
$scope.shouldDisplayKey = function(key) {
return ($scope.notToDisplay.indexOf(key) != -1) ? false : true;
};
$scope.show = function(key){
var indexOf = $scope.notToDisplay.indexOf(key);
if(indexOf != -1){
$scope.notToDisplay.splice(indexOf, 1);
}
else{
$scope.notToDisplay.push(key);
}
};
});
&#13;
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="mainApp" ng-controller="mainCtrl">
<div class="" layout="row" ng-repeat="(key, value) in Detail">
<div layout="row" class="tableDiv" ng-show="shouldDisplayKey(key)">
<div class="fixTdDivKey">
<div class="col-xs-3">{{key}}</div>
<div class="col-xs-8">: {{value}}</div>
</div>
</div>
</div>
<a class="btn btn-info" ng-click="show('modifyingAPI');">{{shouldDisplayKey('modifyingAPI')?'Hide':'Show'}}</a>
</div>
&#13;