使用angularJS展开子对象时隐藏父对象上的选择栏

使用angularJS展开子对象时隐藏父对象上的选择栏,angularjs,toggle,angularjs-ng-click,expand,angular-ng-if,Angularjs,Toggle,Angularjs Ng Click,Expand,Angular Ng If,我正在尝试使用JSON中的angularJS创建一个示例应用程序。 我已经创建了一个树状结构,它可以在单击时展开,并显示相应的子节点。类似地,它在使用“再次单击”折叠时隐藏子节点 每次,我都会显示一个蓝色的选择栏,以指示展开的节点。 无论何时展开子节点,都应隐藏父节点上的选择节点。它工作正常,除非我为同一个父节点扩展了两个子节点 例如,当Iexpand子节点“A”和“B”位于节点“ABC”下时,“ABC”上的选择栏也会出现,这是不正确的。理想情况下,它应该只出现在子节点上-“A和“B” 当我只展

我正在尝试使用JSON中的angularJS创建一个示例应用程序。 我已经创建了一个树状结构,它可以在单击时展开,并显示相应的子节点。类似地,它在使用“再次单击”折叠时隐藏子节点

每次,我都会显示一个蓝色的选择栏,以指示展开的节点。 无论何时展开子节点,都应隐藏父节点上的选择节点。它工作正常,除非我为同一个父节点扩展了两个子节点

例如,当Iexpand子节点“A”和“B”位于节点“ABC”下时,“ABC”上的选择栏也会出现,这是不正确的。理想情况下,它应该只出现在子节点上-“A和“B”

当我只展开了“1”或“3”个子节点时,这个方法可以很好地工作。 我想切换'obj.sunder='可能有问题!外孙;在HTML中

你能帮我修一下吗

代码如下:

angular.module('myApp',[])
.controller('myCtrl',['$scope',函数($scope){
$scope.webs=[{
“页面标题”:“ABC”,
'页面URL':'http://www.example.net',
“儿童网页”:[{
“子页面标题”:“A”,
'子页面URL':'http://www.example.net',
“孙子”:[{
'PageTitle':'one',
'页面URL':'http://www.example.net'
}, {
“页面标题”:“两个”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“三”,
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“B”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“四个”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“五”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“六”,
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“C”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“七”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“八”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“九”,
'页面URL':'http://www.example.net'
}]
}]
}, {
“pageTitle”:“DEF”,
'页面URL':'http://www.example.net',
“儿童网页”:[{
“子页面标题”:“D”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“十”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“十一”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“十二”,
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“E”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“十三”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“十四”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“十五”,
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“F”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“十六”,
'页面URL':'http://www.example.net'
}, {
“第17页标题”:“第17页”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“十八”,
'页面URL':'http://www.example.net'
}]
}]
}, {
“页面标题”:“GHI”,
'页面URL':'http://www.example.net',
“儿童网页”:[{
“子页面标题”:“G”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“十九”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“二十”,
'页面URL':'http://www.example.net'
}, {
'PageTitle':'twnety one',
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“H”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“第二十二页标题”:“第二十二页”,
'页面URL':'http://www.example.net'
}, {
“SunderPageTitle”:“二十三”,
'页面URL':'http://www.example.net'
}, {
“SunderPageTitle”:“二十四”,
'页面URL':'http://www.example.net'
}]
}, {
“子页面标题”:“I”,
'子页面URL':'http://www.example.net',
“孙子”:[{
“页面标题”:“二十五”,
'页面URL':'http://www.example.net'
}, {
“页面标题”:“二十六”,
'页面URL':'http://www.example.net'
}, {
“SunderPageTitle”:“twentyseven”,
'页面URL':'http://www.example.net'
}]
}]
}];
}]);
.main链接{
字体大小:粗体;
}
.秀童{
位置:相对位置;
左:0;
浮动:左;
右边距:10px;
顶部:3px;
颜色:灰色;
字体大小:1.3em;
}
.孙女{
位置:相对位置;
左:0;
浮动:左;
右边距:10px;
顶部:7px;
颜色:红色;
字体大小:0.75em;
}
B.家长吧{
显示:内联块;
高度:15px;
宽度:2倍;
背景颜色:蓝色;
位置:相对位置;
左:-45px;
顶部:4px;
浮动:左;
}
childBar先生{
显示:内联块;
高度:15px;
宽度:2倍;
背景颜色:蓝色;
位置:相对位置;
左-18px;
底部:156px;
浮动:左;
}
保险商实验室{
列表样式:无;
}
李{
利润率:20px;
}

    • $scope.isChildrenShowing = function(children) { return children.some(function(child) { return child.showGrandChild === true; }); }