2016-04-15 5 views
1

上にあるdiv要素を繰り返しI次のコードを持っている:ngのリピートは、ディレクティブが

<div ng-repeat="item in selectedCategory"> 
    <div class="repertoire-composer"> 
     <div data-toggle="collapse" data-target="#compositions{{$index}}" 
      class="repertoire-composer-title"> 
      <span class="fa fa-chevron-right"></span> 
      {{item.composer}} 
      <span class="fa fa-plus"></span> 
     </div> 
     <div id="compositions{{$index}}" ng-repeat="composition in item.compositions" class="repertoire-compositions collapse"> 
      <div class="repertoire-composition"> 
       {{composition}} 
       <span class="fa fa-remove" title="Remove"></span> 
      </div> 
     </div> 
    </div> 
</div> 

は、だから私は基本的に何をしたい複数の.repertoire-composer div要素のツリーを持つことであるが、それぞれ1または多数の子とその.repertoire-compositionその.repertoire-compositions div内にあります。したがって、2番目のリピートでは、angleは1つ以上のdiv3を作成する必要があります。しかし、それがしているように見えるのは、ディレクティブが存在するディビジョンをより多く作成することです。私は十分に明示してきたホープは、ここでは、不要な結果だ:

enter image description here

だから基本的には、なぜ私の.repertoire-compositions div要素が重複して取得されましたか?

EDIT:

私はng-repeatを誤解されました。これは、ディレクティブがオンになっている要素を繰り返すことを意図した動作です。説明をありがとう。

+0

.repertoire-compositionは複製されていません。実際には繰り返し実行されています – shershen

答えて

2

.repertoire-compositionsは、それが実際にあなたのテンプレートのこの部分で、繰り返しNGされています複製されていません。

<div id="compositions{{$index}}" ng-repeat="composition in item.compositions" class="repertoire-compositions collapse"> 
+0

この行は、このdivのコンテンツをコレクション内のアイテムの何回も複製するはずですか?この例では、複数の '.repertoire-compositionS'が表示されています –

+0

いいえ、この行はこのタグをREPEATINGしています。結果として得られるDOMには、item.compositionsの各配列に含まれるアイテムと同じ数の.repertoire-compositionSがあります – shershen

+0

私はこのディレクティブを誤解していたようです。説明をありがとう。 –

0

私はitem.compositionsの2番目のng-repeatが原因だと思いますが、データセットを提供できますか?

0

私はよく分からないが、あなたは内側のリピーターでこれを試すことができます。

<div id="compositions{{$index}}" class="repertoire-compositions collapse"> 
     <div class="repertoire-composition" ng-repeat="composition in item.compositions"> 
      {{composition}} 
      <span class="fa fa-remove" title="Remove"></span> 
     </div> 
    </div>