条件打开/关闭标记显示
Conditional open/close tag display
我想知道如何在angular中实现任务(在服务器端模板中非常容易),比如:
{{ if condition }}
<div class="container">
{{ endif }}
<div class="child"></div>
{{ if condition }}
</div> <!-- closing container -->
{{ endif }}
我当然知道ng-hide,ng-show和ng-hide。。。但它认为我不能用这些指令来执行我的任务。。。那我该怎么办?
ps:我不能做以下事情:
<div class="container" ng-if="condition">
<div class="child"></div>
</div>
<div class="child" ng-if="!condition"></div>
因为我使用模块运算符(%)是为了将"子"节点包装到每个X元素的"容器"中(其中X是动态参数)
最终结果是(假设X为4):
<div class="container">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
<div class="container">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
等等(我在一个ng重复中)
按模板中的过滤器分组:
解决方案的关键部分是,我们正在计算一个属性containerId
,它取决于容器大小和数组中元素的索引:
$scope.arrayItems.forEach(function(item, index) {
item.containerId = Math.floor(index / size);
});
然后在模板中,我们根据属性containerId
:对元素进行分组
<div class="container" ng-repeat="containers in arrayItems | groupBy: 'containerId'">
<div class="child" ng-repeat="item in containers">{{item.name}}</div>
</div>
模板中的groupBy
滤波器来自角度滤波器
查看小提琴
控制器中的分组方式:
如果不想添加角度过滤器作为依赖项,可以在控制器中对元素进行分组。以下示例使用了lodash的groupBy
函数:
在控制器中:
$scope.itemsGroupedByContainer = _.groupBy($scope.arrayItems, 'containerId');
在模板中:
<div class="container" ng-repeat="containers in itemsGroupedByContainer">
<div class="child" ng-repeat="item in containers">{{item.name}}</div>
</div>
参见fiddle
我认为您需要ng repeat指令。试试这样的东西:
<div ng-repeat="item1 in repeat1 track by $index">
<div ng-repeat="item2 in repeat2 track by $index"></div>
</div>
文档:https://docs.angularjs.org/api/ng/directive/ngRepeat
您不需要if块来添加关闭的</div>
相关文章:
- 在ng重复循环中显示条件内容的最佳方式是什么
- 当满足PHP条件时显示一个弹出窗口
- 当我的条件为true时,显示一条弹出消息
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 使用ng-hide根据条件显示/隐藏按钮
- 我应该如何应用if-else条件来向具有不同用户角色的人显示不同的菜单
- 条件显示淘汰js
- 条件打开/关闭标记显示
- 条件过滤列表显示在angularjs中
- 在下拉列表中显示带条件的文本
- jTable条件显示隐藏基于数据所有者的编辑和删除按钮
- 如果条件为true,ServiceNow显示按钮
- yii2:依赖于Action的条件显示/显示字段
- 无法在jsx中使用条件语法显示找不到的信息
- 显示/隐藏具有特殊条件的行
- javascript setinterval使用if条件显示图像
- 在加载时和预选时显示条件表单域
- 切换页面高度显示条件
- 显示条件确认消息的最佳做法是什么,然后继续
- 使用表单选择菜单在HTML中显示条件字段