3

アプリでこの問題に遭遇し、問題を切り分けることができました。別の ng-repeat 内に ng-repeat があります。<a>そして、外側の ng-repeat からのタグが何らかの形で内側の ng-repeat 内で複製されるという事実を除いて、期待どおりに機能します。説明するのが少し難しいので、ここにコードを示します。

<ul class="nav nav-list">
    <li ng-repeat="item in items">
        <a href="upperLevel.html" >               
            <span >{{item.name}}</span>                     
            <ul >
                <li ng-repeat="menuSubItem in item.menuItems" >
                   This text is wrapped again in the upperLevel a ???
                   <a href="#" >                         
                        <span > {{menuSubItem.name}}</span>
                    </a>
                </li>
            </ul>
        </a>
    </li>
</ul>

(menuItems を持つ項目の) 結果は次のようになります。

<li ng-repeat="item in items" class="ng-scope">
        <a href="upperLevel.html">               
            <span class="ng-binding">Test</span>                     
            </a><ul><a href="upperLevel.html">
                </a><!-- ngRepeat: menuSubItem in item.menuItems --><li ng-repeat="menuSubItem in item.menuItems" class="ng-scope"><a href="upperLevel.html">
                   This text is wrapped again in the upperLevel a ???
                   </a><a href="#">                         
                        <span class="ng-binding">----- TestSub3</span>
                    </a>
                </li><li ng-repeat="menuSubItem in item.menuItems" class="ng-scope"><a href="upperLevel.html">
                   This text is wrapped again in the upperLevel a ???
                   </a><a href="#">                         
                        <span class="ng-binding">----- TestSub4</span>
                    </a>
                </li>
            </ul>

    </li>

"This text [...]" の部分は、外側の でラップされ<a>ます。<a>それが に置き換えられた場合は起こりません<div>。なぜそれが起こっているのか誰にも分かりますか?

http://jsfiddle.net/68CYt/5/

4

1 に答える 1

3

これは ng-repeat タグではなく、その中のマークアップの位置です。終了</a>タグをスパンのすぐ下まで移動して、次のようにします。

<li ng-repeat="item in items">
  <a href="upperLevel.html" >               
     <span >{{item.name}}</span>   
  </a>

これが完全なフィドルです。

于 2013-10-28T18:13:34.083 に答える