angularjs - HTML div 格式未产生所需的输出
问题描述
我有两个包含两组数据的数组,我想在单独的列中显示每组,格式如下:
Set1 Set 2
1 ABC
2 DEF
GEF
3 HIJ
JKL
4 MNO
PQR
相反,我的数据如下所示:
Set 1 Set 2
1 ABC
2 DEF
GEF 3
HIJ
JKL 4
MNO
PQR
如何使用标签使我的数据正确显示(即确保 Set 2 中的所有数据都在右列中),将“class = col-xs-4”分配给第一个集合和“class = col-xs- 8" 到第二个?这是我现在的代码:
<div ng-switch="hoursOfOp[0]">
<div ng-switch-when = "Not available"><class="col-xs-4 align-right">{{hoursOfOp[0]}}</div>
<div ng-switch-default>
<div ng-repeat="hours in hoursOfOp">
<div class="col-xs-4 align-left">{{hours.day}}</div>
<div class="col-xs-8 align-left no-padding" ng-repeat="time in hours.time">{{time}}</div>
</div>
</div>
</div>
解决方案
正如我在评论中所说,这是因为当一个 col 不适合同一行时,它会转到下一个。您可以做的是使用 col-xs-8 在 div 中创建另一个 div 并将 ng-repeat 作为列表或其他内容放在那里。
请记住, ng-repeat 重复它放入的元素。因此,在您的情况下,流程如下:
在第一行创建具有 1 值的 col-xs-4
使用第一行的 ABC 值创建 col-xs-8,因为有空间
- 在下一行创建具有 2 值的 col-xs-4,因为上面没有空间
- 在同一行上创建具有 DEF 值的 col-xs-8,因为有空间
- 在 NEXT ROW 上使用 GEF 值创建 col-xs-8 ,因为上面没有空间
- 从这一点开始,一切都变得一团糟。
下面的例子正在工作:)
var app = angular.module("myApp", []);
app.controller('testCtrl', ['$scope', function ($scope) {
$scope.hoursOfOp = [
{id: 1, time: ["ABC"]},
{id: 2, time: ["DEF", "GEF"]},
{id: 3, time: ["HIJ", "JKL"]},
{id: 4, time: ["MNO", "PQR"]}]
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css" integrity="sha384-AysaV+vQoT3kOAXZkl02PThvDr8HYKPZhNT5h/CXfBThSRXQ6jW5DO2ekP5ViFdi" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha384-3ceskX3iaEnIogmQchP8opvBy3Mi7Ce34nWjpBIwVTHfGYWQS9jwHDVRnpKKHJg7" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.7/js/tether.min.js" integrity="sha384-XTs3FgkjiBgo8qjEjBk0tGmf3wPrWtA6coPfQDfFEY8AnYJwjalXCiosYRBIBZX8" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/js/bootstrap.min.js" integrity="sha384-BLiI7JTZm+JWlgKa0M0kGRpJbF2J8q+qreVrKBC47e3K6BW78kGLrCkeRX6I9RoK" crossorigin="anonymous"></script>
<div ng-app="myApp">
<div ng-controller="testCtrl">
<div ng-repeat="hours in hoursOfOp" class="row">
<div class="col-xs-4 col-md-4 stuff">{{ hours.id }}</div>
<div class="col-xs-8 col-md-8 stuff">
<div ng-repeat="v in hours.time">
{{ v }}
</div>
</div>
</div>
</div>
</div>
推荐阅读
- javascript - 如果我没有时间戳,AJAX 长轮询的最佳实践
- notepad++ - 在记事本++中使用正则表达式时卡住了
- python - Django 错误:/trade/confirm/ 处的 TemplateDoesNotExist
- python - 从现有列创建新列
- python - 如何编写函数计算python中未绑定数据集的运行平均值?
- aframe - 如何在帧中使用运动记录?
- javascript - 预期 2 个参数,但得到 1.ts(2554) index.ts(54, 112):未提供 'arg1' 的参数
- java - Determine the time complexity
- flutter - 多个颤振动画一个接一个地不起作用
- java - 如何正确使用 SRTM 地形数据?