【问题标题】:nested ng-repeat in angular js not showing anythingAngular js中的嵌套ng-repeat没有显示任何内容
【发布时间】:2017-01-07 14:52:45
【问题描述】:

我的控制器方法中有这个。

var employee = [{name:"ankur",dept:"IT",company:"wipro",under:[{name1:"ashish"},{name1:"akash"},{name1:"tyagi"},{name1:"mogra"}]}];
    $scope.employee = employee;

还有这个在 html 页面中。

<table>
    <tr ng-repeat="emp in employee">
        <td>{{emp.name}}</td>
        <td>{{emp.dept}}</td>
        <td>{{emp.company}}</td>
        <td ng-repeat="(key , value) in emp.under">
            a<td>{{key}}</td>
            b<td>{{value}}</td>
        </td>
    </tr>
</table>

但是,第一个 ng-repeat 工作正常,但它在嵌套的 ng-repeat 处没有显示任何内容。

【问题讨论】:

    标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat ng-repeat


    【解决方案1】:

    您的 ng-repeat 很好,问题出在 td inside another td 上,您可以这样做:

    Fiddle

     <div ng-app='app' ng-controller='mainCtrl'>
       <table>
        <tr ng-repeat="emp in employee">
            <td>{{emp.name}}</td>
            <td>{{emp.dept}}</td>
            <td>{{emp.company}}</td>
            <td ng-repeat="(key , value) in emp.under">{{value.name1}}
               <table>
                 <tr>
                  a<td>{{key}}</td>
                  b<td>{{value.name1}}</td>
                 </tr>
               </table>
            </td>
        </tr>
     </table>
    </div>
    

    如果您只想检查您的 ng-repeat 是否正常工作,请删除 &lt;td&gt; 并像这样检查:

     <td ng-repeat="(key , value) in emp.under">
            a{{key}}
            b{{value}}
     </td>
    

    【讨论】:

    • 感谢您的回复,现在它工作正常,但不知道为什么我没有在 td 元素中工作。元素的位置是否也在评估 ng 表达式中起作用?
    • 没有。问题不在于 ng-repeat,td 不能在另一个 td 内,因此它没有被渲染。这就是你删除它时它起作用的原因。
    • 无论如何,很高兴我能帮上忙。快乐编码:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多