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