【问题标题】:Using Twitter Bootstrap's .row element with ng-repeat将 Twitter Bootstrap 的 .row 元素与 ng-repeat 一起使用
【发布时间】:2023-03-06 04:29:01
【问题描述】:

我的 AngularJS 应用中有以下 sn-p:

<div ng-repeat="proverb in proverbs">
  <div class="col-sm-6">
    <div class="alert alert-warning">
      <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
    </div>
  </div>
</div>

这将为我的proverbs 数组中的每个proverb 生成一个div 元素,其类为col-sm-6。我的意图是在屏幕足够大时显示两列

尽管没有使用 Bootstrap 的 .row 元素,但上面的 sn-p 完全按照预期工作。

问题是,我怎样才能包含一个 .row 元素,它只会在 ng-repeat 的每第二次迭代中出现一次,以便我得到以下最终结果:

<div class="row">
  <div class="col-sm-6">
    <div class="alert alert-warning">
      <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
    </div>
  </div>
  <div class="col-sm-6">
    <div class="alert alert-warning">
      <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
    </div>
  </div>
</div>
<div class="row">
  <div class="col-sm-6">
    <div class="alert alert-warning">
      <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
    </div>
  </div>
  <div class="col-sm-6">
    <div class="alert alert-warning">
      <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
    </div>
  </div>
</div>

此外,鉴于 Bootstrap 中 .col 元素的跨度总和大于 12 时,下一个元素会被下推,除了保证新行之外,还有任何理由使用 .row 类在所有列完全填满之前生成?

【问题讨论】:

    标签: angularjs twitter-bootstrap angularjs-ng-repeat


    【解决方案1】:

    如果你不需要 .row 那么你可以做this

    <div ng-repeat="proverb in proverbs">
      <div class="col-sm-6">
        <div class="alert alert-warning">
          <a href="#/{{langID}}/{{$index}}">{{proverb}}</a>
          <ng-show="$index % 2 == 0" br/>
        </div>
      </div>
    </div>
    

    【讨论】:

    • 这看起来不对,请参阅jsBin
    • 你是对的。 AngularJS 不支持开箱即用的 ngRepeat 中超过 1 的步数。
    猜你喜欢
    • 2012-06-18
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    相关资源
    最近更新 更多