【问题标题】:Angular JS - How to add extra DIV in ng-repeatAngular JS - 如何在 ng-repeat 中添加额外的 DIV
【发布时间】:2014-05-19 10:25:16
【问题描述】:

我有一个数组a=[1,2,3,4,5,6]

在这个数组上使用ng-repeat,我正在创建6个divs

请参考这个plunker

有没有办法在每一行之后再添加一个div。所以在 3 个 div 之后,我想多加一个 div

我查看了this 示例。但他们正在创建一个孩子div。是否可以在 ng-repeat 中创建兄弟div

【问题讨论】:

    标签: javascript angularjs angularjs-ng-repeat


    【解决方案1】:

    您可以使用空 div 作为重复的容器。然后只将子元素渲染为正方形(或任何你想要的)。这样,您的额外 div 将是兄弟姐妹而不是孩子。

    看我的例子:http://plnkr.co/edit/xnPHbwIuSQ3TOKFgrMLS?p=preview

    【讨论】:

      【解决方案2】:

      看看这个 plunker,它会是你的解决方案吗?我不太了解您的问题,因为我认为将您的数组实例化到外部 js 文件中会更好,但除此之外,请查看plunker

      【讨论】:

        【解决方案3】:

        ng-repeat-startng-repeat-end 语法正是为此目的而引入的。参见文档http://docs.angularjs.org/api/ng/directive/ngRepeat

        所以你会做这样的事情:

        <div ng-init="a = [1,2,3,4,5,6]">
        
        <div class="example-animate-container">
          <div class="square" ng-repeat-start="friend in a">
           {{$index}}
          </div>
          <div ng-repeat-end>Footer</div>
        </div>
        

        【讨论】:

          【解决方案4】:

          让我们试试 ng-repeat-start 和 ng-repeat-end。

          <div class="example-animate-container">
            <div class="square" ng-repeat-start="friend in a">
             {{$index}}
            </div>
            <div ng-if="$index % 3 == 2" ng-repeat-end>
              extra div
            </div>
          </div>
          

          请注意,自 Angular 1.2.1 起包含 ng-repeat-start 指令。

          plnkr demo

          ng-repeat:重复“一个”父元素的一系列元素

          <!--====repeater range=====-->
            <Any ng-repeat="friend in friends">
            </Any>
          <!--====end of repeater range=====-->
          

          ng-repeat-start & ng-repeat-end: 使用 ng-repeat-start 和 ng-repeat-end 定义扩展中继器范围的起点和终点

          <!--====repeater range start from here=====-->
          <Any ng-repeat="friend in friends" ng-repeat-start> 
            {{friend.name}}
          </Any><!-- ng-repeat element is not the end point of repeating range anymore-->
          
          <!--Still in the repeater range-->
          <h1>{{friend.name}}</h1>
          
          <!--HTML tag with "ng-repeat-end" directive define the end point of range -->
          <footer ng-repeat-end>
          </footer>
          <!--====end of repeater range=====-->
          

          【讨论】:

          • 您能解释一下ng-repeat-startng-repear-end 的工作原理吗?
          • +1 这个,但我认为你使用ng-repeat-start的第二个例子是错误的。你有&lt;Any ng-repeat="friend in friends" ng-repeat-start&gt; 的地方应该是&lt;Any ng-repeat-start="friend in friends"&gt;。否则它对我不起作用。
          猜你喜欢
          • 2015-08-06
          • 1970-01-01
          • 2017-02-11
          • 1970-01-01
          • 1970-01-01
          • 2017-07-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多