ng-repeat over div不工作

时间:2016-03-25 05:18:11

标签: angularjs angularjs-ng-repeat

我过去曾多次使用ng-repeat,但出于某种原因,我还不明白为什么它不会出现以下情况:

我有一个名为寄存器的对象数组,我在ng-repeat上引用但没有任何反应。

我知道这个数组是填充的,因为我已在很多console.log上看到它,因为如果我将ng-repeat移到<tbody>

,它就会起作用
<div ng-repeat = "r in registers">
        <!-- START HEADER -->
        <tbody class="js-table-sections-header">
            <tr>
                <td class="text-center">
                   <i class="fa fa-angle-right"></i>
                </td>
                <td class="font-w600">Denise Watson</td>
            </tr>

                </tbody> <!-- END HEADER -->
                <tbody>
                    <tr>
                        <td class="text-center"></td>
                        <td>
                        <!-- Summernote Container -->
                            <div class="js-summernote-air">
                                 <p>End of air-mode area!</p>
                            </div>

                       </td>
                  </tr>
            </tbody>
            <!--  END TABLE -->
        </div>

我希望有人可以告诉我是否有些东西我可能会忽略。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我想我刚遇到同样的问题。它源于<div>不是<table>中的有效元素。

我猜测,因为那里有<tbody>,所以您的代码段中没有<table>标记。表中不允许<div>,因此浏览器会在表之前移动它。在我的情况下,这样做会导致角度范围发生变化,因此没有任何东西可以迭代。您可以使用浏览器的开发人员工具对此进行验证。

所以,我的猜测是您可能希望将ng-repeat移到<tbody><table>标记上。

答案 1 :(得分:1)

如果你想在“div”标签中使用ng-repeat意味着使用“span” 在div标签内。而不是使用“表”及其子属性..

否则也会在“table”或“thead”或“tr”中使用你的ng-repeat 它将迭代行...

只有ng-repeat才有效。