0

我在使用 AngularJS 1.2.0-rc3 的非常简单的嵌套 ng-repeat 时遇到问题。

我的控制器中有一个 JSON 对象,表示菜单结构,如下所示:

$scope.menus = [
  {
    title: "menu1", 
    action: "#", 
    menus: [
      {
        title: "submenu1_1",
        action: "stuff"
      },
      {
        title: "submenu1_2",
        action: "moreStuff"
      }
    ]
  },
  {
    title: "menu2", 
    action: "#", 
    menus: [
      {
        title: "submenu2_1",
        action: "awesomeStuff"
      },
      {
        title: "submenu2_2",
        action: "moreAwesomeStuff"
      }
    ]
  }
]

我的视图使用这些信息来创建引导nav菜单结构,如下所示:

<div class="navbar">
  <ul class="nav navbar-nav">
    <li ng-repeat="menu in menus" ng-class="{dropdown: menu.menus}">
      <a href="{{menu.action}}" ng-class="{'dropdown-toggle': menu.menus}" data-toggle="dropdown">{{menu.title}}</a>
      <ul ng-if="menu.menus" class="dropdown-menu">
        <li ng-repeat="submenu in menu.menus">
          <a href="{{submenu.action}}">{{submenu.title}}</a>
        </li>
      </ul>
    </li>
  </ul>
</div>

这应该可以正常工作,并且确实... 50%的时间。有时,几乎随机地,菜单根本不会显示,我会在控制台中收到此错误:

Error: 'undefined' is not an object (evaluating 'node.childNodes')

我的标记有问题吗?该错误有时会在页面加载时出现,并且总是在我单击子菜单时出现(在我的代码中,操作被简单地替换为“#”)。

4

0 回答 0