我正在使用angularjs指令的ng-repeat加载其中具有JSON值存储的数组。并且值也具有子数组。
<div ng-repeat="data in MENULIST" > //MENULIST have array(Data)
在检查了诸如(if:condition)之类的条件之后。
<div ng-if="(data.SubMenu.length >0)" ng-init = "MENULIST = data.SubMenu"></div>
但是,对MENULIST的赋值或初始化并未全局完成,仅限于该div。
在打印两个主数组元素后ng-repeat停止。
不打印数组元素的子元素。
实际上,我正在尝试在具有菜单和子菜单的侧栏中制作树状结构。
答案 0 :(得分:0)
除了双向绑定应该对您有用之外,我相信调用某些函数是更直接的方式(尤其是因为您可以在特定控制器的范围内创建此函数-因此更容易理解这一点)
<div ng-if="(data.SubMenu.length >0)"
ng-init = "someController.setMenuList(data.SubMenu)">
</div>
另一个“角度”是在组件的JS代码中为data.Submenu.length
添加显式观察程序
$scope.$watch('data.Submenu.length', function (value, oldValue) {
if (!value && oldValue) {
// do your init
}
});