尝试输出多维数组时,AngularJS中的ng-repeat不起作用

时间:2014-11-07 01:28:30

标签: javascript html arrays angularjs

我有一个简单的数组,我想将它输出到我的列表中。当我调用它时,数组的第一个维度的数组工作,但第二个维度的数组无法被检测到。我在这里做错了什么或者我错过了什么?以下是我的代码:

Angular.js

angular.module( 'theme' , [
    ] ).controller('sideController' , function($scope){

        $scope.menuName = [
            {'name': 'Header' , 'element' : [
                {'id' : 'template1' , 'template': 'wp-content/themes/dynamictheme/img/template/template1.png'} 
            ]
        }];
    })
;

HTML

<div id="slideout" ng-app="theme"> 
    <div id="slideMenu" ng-controller='sideController'>
        <ul style="list-style-type: none;">

            <!--- Worked --->

            <li class="active" ng-repeat="menus in menuName">
                <h3><a class="menuItem" id="{{menus.name}}">{{menus.name}}</a></h3>
            </li>

            <!--- Didn't Work --->

            <li id="{{subMenu.id}}" class="draggable" ng-repeat="subMenu in menus.element">
                <img src="{{subMenu.template}}" width="200" />
            </li>
        </ul>
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

子菜单必须位于外部ng-repeat内(为简单起见,请替换为div):

<div class="active" ng-repeat="menus in menuName">
  <h3><a class="menuItem" id="{{menus.name}}">{{menus.name}}</a></h3>
  <div id="{{subMenu.id}}" class="draggable" ng-repeat="subMenu in menus.element">
    <img src="{{subMenu.template}}" width="200" />
  </div>
</div>

否则,范围内没有menus标识符。