2016-09-05 5 views
1

この問題は、ng-repeatで使用されているタグも繰り返し取得され、内部の要素だけを繰り返す方法がありますか? ng-repeat-startng-repeat-end内部要素のみng-repeat

<div class="accordions" ng-repeat="event in eventsData"> 
         <!-- content-title --> 
         <div class="content-title active">Donec mollis magna quis urna convallis, quis faucibus sem vestibulum. Sed vehicula suscipit lacus</div> 
         <!--/content-title --> 
         <!-- accordions content --> 
         <div class="content">Donec sollicitudin lacus in felis luctus blandit. Ut hendrerit mattis justo at suscipit. Vivamus orci urna, ornare vitae tellus in, condimentum imperdiet eros. Maecenas accumsan, massa nec vulputate congue, dolor erat ullamcorper dolor, ac aliquam eros sem in dui. In eu sagittis metus. Proin consectetur suscipit dui sed euismod. Nam non metus in est vehicula vestibulum et vel neque.</div> 
         <!--/accordions content --> 
         <!-- content-title --> 
         <div class="content-title">Sed vehicula suscipit lacus, eget cursus justo aliquet in. Etiam aliquet vel ipsum ultrices auctor</div> 
         <!--/content-title --> 
         <!-- accordions content --> 
         <div class="content">Donec sollicitudin lacus in felis luctus blandit. Ut hendrerit mattis justo at suscipit. Vivamus orci urna, ornare vitae tellus in, condimentum imperdiet eros. Maecenas accumsan, massa nec vulputate congue, dolor erat ullamcorper dolor, ac aliquam eros sem in dui. In eu sagittis metus. Proin consectetur suscipit dui sed euismod. Nam non metus in est vehicula vestibulum et vel neque.</div> 
         <!--/accordions content --> 
</div> 
+0

を行います。何か方法はありますか? –

+0

ああ、ラッパーと要素の間に何もない4つの要素を生成する必要がありますか? – Ven

+0

あなたは何を達成しようとしていますか?単純なイベントリストであれば、 'content-title'クラスの要素に' ng-repeat'を一度だけ使用し、 'content-title'クラス要素に' content'クラス要素をラップしてください。 –

答えて

1

AngularJSはそのための機能を備えています。入れ子にならないので、ラッパーを避けることができます。

<div class="accordions"> <!-- !! No repeat here --> 
    <div class="content-title active" 
    ng-repeat-start="event in eventsData" 
    >Donec mollis magna quis urna convallis, quis faucibus sem vestibulum. Sed vehicula suscipit lacus</div> 
    <div class="content">Donec sollicitudin lacus in felis luctus blandit. Ut hendrerit mattis justo at suscipit. Vivamus orci urna, ornare vitae tellus in, condimentum imperdiet eros. Maecenas accumsan, massa nec vulputate congue, dolor erat ullamcorper dolor, ac aliquam eros sem in dui. In eu sagittis metus. Proin consectetur suscipit dui sed euismod. Nam non metus in est vehicula vestibulum et vel neque.</div> 
    <div class="content-title">Sed vehicula suscipit lacus, eget cursus justo aliquet in. Etiam aliquet vel ipsum ultrices auctor</div> 
    <div class="content" 
    ng-repeat-end 
    >Donec sollicitudin lacus in felis luctus blandit. Ut hendrerit mattis justo at suscipit. Vivamus orci urna, ornare vitae tellus in, condimentum imperdiet eros. Maecenas accumsan, massa nec vulputate congue, dolor erat ullamcorper dolor, ac aliquam eros sem in dui. In eu sagittis metus. Proin consectetur suscipit dui sed euismod. Nam non metus in est vehicula vestibulum et vel neque.</div> 
</div> 

繰り返しng-repeat-endを有する要素まで、ng-repeat-start="..."を有する要素から出発アクティブであろう。

See the ngRepeat docs

+0

ありがとう、これは完璧に動作します:) –

+0

それはトピックの外かもしれないが、私はそう思う、アコーディオンは、私はそれをやったらこのように動作しませんか?何か案が? –

+0

可能であれば、CSSのみのアコーディオンが必要になるでしょう。それ以外の場合は、AngularJSディレクティブを使用してください。そうすれば 'eventsData'が更新されたときにアコーディオンが更新されることが確実になります。 – Ven

-1

content-titleおよびcontenteventsDataで繰り返さなければならないと仮定すると、

はdivの中のタイトルや内容を包むことなく、この、

<div class="accordions"> 
    <div class="wrapper" ng-repeat = "event in eventsData"> 
         <!-- content-title --> 
         <div class="content-title active">Donec mollis magna quis urna convallis, quis faucibus sem vestibulum. Sed vehicula suscipit lacus</div> 
         <!--/content-title --> 
         <!-- accordions content --> 
         <div class="content">Donec sollicitudin lacus in felis luctus blandit. Ut hendrerit mattis justo at suscipit. Vivamus orci urna, ornare vitae tellus in, condimentum imperdiet eros. Maecenas accumsan, massa nec vulputate congue, dolor erat ullamcorper dolor, ac aliquam eros sem in dui. In eu sagittis metus. Proin consectetur suscipit dui sed euismod. Nam non metus in est vehicula vestibulum et vel neque.</div> 
    </div>       
</div> 
+0

質問は**内部の要素を繰り返すことを要求します**。ラッパーなし。 – Ven

+0

@Venこれは唯一の解決策です。しかしこれは解決策の1つです。 –

+0

あなたはそれをしないように質問しています。 – Ven

関連する問題