学习ng-repeat的过程中常常使用到ng-repeat=”item in array”来循环输出所需要的元素,但是当我们需要使用ng-repeat进行多层嵌套时则容易出现数据重复的问题。

如在加载与点击事件于js中进行两次http请求获取data分别为list01[]数组和list02[]赋值再如下显示则会导致it1下每个ul都会重复输出list02[]数组中的内容
<ul ng-repeat="it1 in list01">
<li ng-click="show(it1)">{{it1.value}}</li>
<ul ng-repeat="it2 in list02">
<li>{{it2.value}}</li>
</ul>
</ul>
输出如:
1-1 1-2 1-1 1-2
而非
1-1 1-2 2-1 2-2
其实这个也不是问题,只要换一种思维方式将列表和父级元素相关联形成树状结构就好了
HTML中代码如下
<ul ng-repeat="it1 in list01">
<li ng-click="show(it1)">{{it1.name}}</li>
<ul ng-repeat="it2 in it1.child" ng-show="it1.showChild" style="text-indent:10px;">
<li ng-click="show(it1, it2)">{{it2.name}}</li>
<ul ng-repeat="it3 in it2.child" ng-show="it2.showChild" style="text-indent:10px;">
<li ng-click="show(it1, it2, it3)">{{it3.name}}</li>
<ul ng-repeat="it4 in it3.child" ng-show="it3.showChild">
<li>{{it4.name}}</li>
</ul>
</ul>
</ul>
</ul>
js中代码如下
$http.get('ng01.json').success(function (_data) {
$scope.list01 = [];
$scope.list01 = _data.data;
});
$scope.show = function (it1, it2, it3) {
if(it3 != null){
$http.get("ng04.json").success(function (_data) {
$scope.list04 = [];
$scope.list04 = _data.data;
for(var x in $scope.list03){
$scope.list03[x].showChild = false;
}
it3.showChild = true;
it3.child = _data.data;
});
return;
}
if(it2 != null){
$http.get("ng03.json").success(function (_data) {
$scope.list03 = [];
$scope.list03 = _data.data;
for(var x in $scope.list02){
$scope.list02[x].showChild = false;
}
it2.showChild = true;
it2.child = _data.data;
});
return;
}
$http.get("ng02.json").success(function (_data) {
$scope.list02 = [];
$scope.list02 = _data.data;
for(var x in $scope.list01){
$scope.list01[x].showChild = false;
}
it1.showChild = true;
it1.child = _data.data;
});
}
json文件都是这样的
{
"success":1,
"data":[
{"name":"01"},
{"name":"02"}
]
}
总结
以上所述是小编给大家介绍的Angular中ng-repeat与ul li的多层嵌套,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ng
# repeat
# ul
# li
# 多层嵌套
# angularjs
# AngularJS实践之使用ng-repeat中$index的注意点
# AngularJS 获取ng-repeat动态生成的ng-model值实例详解
# AngularJS ng-repeat数组有重复值的解决方法
# AngularJs ng-repeat 嵌套如何获取外层$index
# AngularJS使用自定义指令替代ng-repeat的方法
# AngularJS使用ng-repeat指令实现下拉框
# 小编
# 都是
# 在此
# 两次
# 树状
# 给大家
# 相关联
# 分别为
# 当我们
# 而非
# 所需要
# 如在
# 则会
# 所述
# 给我留言
# 思维方式
# 感谢大家
# 过程中
# 再如
# 组中
相关文章:
如何快速搭建安全的FTP站点?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
网站制作话术技巧,网站推广做的好怎么话术?
PHP 500报错的快速解决方法
ppt制作免费网站有哪些,ppt模板免费下载网站?
内部网站制作流程,如何建立公司内部网站?
如何挑选高效建站主机与优质域名?
三星网站视频制作教程下载,三星w23网页如何全屏?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
建站之星如何配置系统实现高效建站?
网站制作免费,什么网站能看正片电影?
建站ABC备案流程中有哪些关键注意事项?
已有域名和空间如何搭建网站?
建站之星后台管理如何实现高效配置?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何高效利用亚马逊云主机搭建企业网站?
建站之星会员如何解锁更多建站功能?
建站主机功能解析:服务器选择与快速搭建指南
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
外贸公司网站制作,外贸网站建设一般有哪些步骤?
文字头像制作网站推荐软件,醒图能自动配文字吗?
建站VPS配置与SEO优化指南:关键词排名提升策略
网站设计制作公司地址,网站建设比较好的公司都有哪些?
建站之星与建站宝盒如何选择最佳方案?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
建站之星如何通过成品分离优化网站效率?
网站制作壁纸教程视频,电脑壁纸网站?
如何通过VPS建站实现广告与增值服务盈利?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
如何通过虚拟主机快速完成网站搭建?
网站图片在线制作软件,怎么在图片上做链接?
大连网站设计制作招聘信息,大连投诉网站有哪些?
建站主机默认首页配置指南:核心功能与访问路径优化
网站制作公司排行榜,四大门户网站排名?
如何在阿里云虚拟服务器快速搭建网站?
如何在万网开始建站?分步指南解析
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
如何在万网自助建站中设置域名及备案?
小型网站建站如何选择虚拟主机?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Python文件管理规范_工程实践说明【指导】
全景视频制作网站有哪些,全景图怎么做成网页?
如何通过cPanel快速搭建网站?
网站制作网站,深圳做网站哪家比较好?
如何用y主机助手快速搭建网站?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
*请认真填写需求信息,我们会在24小时内与您取得联系。