我有一个显示产品信息的div列表。核心信息相同,但某些产品类型只显示或隐藏某些字段(通过ng-show/ng-hide)。这工作正常,但我们希望显示行交替样式(斑马条纹)为了可读性。如何做到这一点,因为如果我隐藏一行,我们最终会得到两行相同的样式?该HTML的格式为:Angularjs显示/隐藏和交替样式
<div style="alt-1">
<div class="col-md-3 list-item-odd">Location</div>
<div class="col-md-9 list-item-odd" >{{ location }}</div>
</div>
<div ng-show="itemType == 1" style="alt-2">
<div class="col-md-3 list-item-odd">Layout Type</div>
<div class="col-md-9 list-item-odd" >{{ layoutType}}</div>
</div>
<div style="alt-1">
<div class="col-md-3 list-item-odd">Category</div>
<div class="col-md-9 list-item-odd" >{{ category }}</div>
</div>
仿佛ITEMTYPE = 1,我们结束了,你与风格“ALT-1”相邻两行这个例子显示!
我的一个想法是在ng-show(或者ng-hide)完成后,编写一个优先级较低的指令(在下面的例子中是替代样式)来步行DIV。
<div class="enclosing" alternate-styles>
HTML from above
</div>
但是,有两件事情打扰了我。一,它会起作用吗?我总是对Angular中的某些东西感到惊讶。二,我有这种唠叨的怀疑,我让我的jQuery经验使我对明显的Angular解决方案感到盲目。
意见和/或建议?
感谢,
杰里
你可以使用ng-repeat和http://docs.angularjs.org/api/ng.directive:ngClassEven? –
我想过,但是我必须创建一大堆字段和提示,然后动态填充表单的每个部分。这是一个选项,但不是我喜欢使用的选项,因为它与应用程序中的所有其他布局不同。 – JerryKur