当前位置: 首页 > 面试题库 >

为第n个元素自定义AngularJS中的ng-repeat

董建德
2023-03-14
问题内容

我正在尝试自定义一个,ng- repeat以便br为每个第4个元素添加类似标签的内容。我曾尝试搜索,但似乎找不到可靠的答案。有没有简单的方法可以为Angular这样的条件添加条件?我ng- repeat只是spans在其中添加了一些内容,但我需要在第4个元素处开始新的一行。

即我想要以下

item1 item2 item3 item4 item5 item6 item7 item8

但现在它只是这样做

item1 item2 item3 item4 item5 item6 item7 item8

如果有关于ng-repeat自定义的好文章(对于新手),我将非常感谢您提供的链接以及到目前为止我发现的所有内容都太难理解了。

的HTML

  <div class="section">
    <div ng-repeat="items in MyList">
      <img ng-click="AddPoint($index)" src={{items.image}} />
      <span>{{items.currentPoint}}/{{items.endPoint}}</span>
    </div>
  </div>

问题答案:

你可以只使用$index与应用它ng-if<br ng-if="!($index%4)" />

<div class="section">
    <div ng-repeat="items in MyList">
      <img ng-click="AddPoint($index)" src={{items.image}} />
      <span>{{items.currentPoint}}/{{items.endPoint}}</span>
      <br ng-if="!(($index + 1) % 4)" />
    </div>
  </div>

更新资料

根据注释,您只需要使用CSS即可,只需在第n个元素中清除浮点数即可。

.section > div:nth-of-type(4n+1){
  clear:both;
}

演示版

如果您担心是否支持较旧的浏览器,则只需在特定条件下添加一个类:

 <div ng-repeat="items in offensiveMasteries" ng-class="{wrap:!($index % 4)}">

和一个规则 .section > div.wrap

演示版



 类似资料:
  • 问题内容: 我试图在多个地方重用HTML视图的一部分。我要重用的部分是HTML表格中的表格单元。问题是我在ng- repeat中的自定义指令正在做有趣的事情。我在jsFiddle上重现了这个问题。jsFiddle中有两个HTML表。第一个是ng- repeat,其中表单元格写在视图中,第二个是表单元格来自指令my- element。Chrome开发人员工具报告,呈现的HTML如下所示。请注意,自定

  • 我有一个示例 anjularjs 示例,它拉取 sku 详细信息数组,在选择下拉列表中显示价格和名称。现在我在下拉列表中选择了任何选项,它显示SKU名称和价格。 下面是我的选择标签,现在正在显示,sku名称和价格。 以下是我的skulist数据: 所以在这里,我的要求是下拉列表应该包含sku名称和价格,但一旦选择了值,然后只显示sku名称。

  • 问题内容: 如果我的措词不正确,我事先表示歉意。我在的内部有一个文本框,当我尝试获取文本框值时始终为。我只希望它显示我在相应文本框中键入的内容。 似乎是一个问题,那么我该如何创建全局或控制器根级别以便可以访问它? 这是帮助解决问题的JSFiddle:http : //jsfiddle.net/stevenng/9mx9B/14/ 问题答案: 在您的点击表达式中,您可以引用并在您的函数中对其进行访问

  • 问题内容: 我是AngularJS的新手,我正在构建一个小型的概念验证租车清单应用程序,该应用程序会提取一些JSON,并通过ng- repeat并使用几个过滤器来呈现这些数据的各个部分: 现在,我想在控制器中创建一个自定义过滤器,该过滤器可以迭代ng-repeat中的项目,并仅返回满足特定条件的项目-例如,我可以根据哪个“ provider”复选框创建值数组进行检查,然后评估每个ng-repeat

  • 问题内容: 我在angular.js中有指令/类或问题。 Chrome可以正常运行,但是Firefox会通过或导致元素闪烁。恕我直言,它是由引起的转换/ 到,可能是Firefox的JavaScript编译器是有点慢,所以元素出现了一会儿,然后躲起来? 例: 问题答案: 尽管文档中没有提到它,但是将规则添加到CSS 可能还不够。如果您要在主体中加载angular.js或模板编译得不够快,请使用指令,

  • 问题内容: 我目前正在使用这段代码来呈现列表: 但是,该元素在某些浏览器上引起一些非常小的渲染缺陷。我想知道是否可以在没有div容器的情况下执行ng- repeat,或者通过其他方法来达到相同的效果。 问题答案: 正如Andy Joslin所说,他们正在研究基于注释的ng- repeats,但显然存在太多浏览器问题。幸运的是,AngularJS 1.2添加了对重复的内置支持,而无需使用新的指令和添