学习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指令实现下拉框
# 小编
# 都是
# 在此
# 两次
# 树状
# 给大家
# 相关联
# 分别为
# 当我们
# 而非
# 所需要
# 如在
# 则会
# 所述
# 给我留言
# 思维方式
# 感谢大家
# 过程中
# 再如
# 组中
相关文章:
如何用PHP工具快速搭建高效网站?
宝塔新建站点报错如何解决?
建站VPS配置与SEO优化指南:关键词排名提升策略
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
如何在Windows虚拟主机上快速搭建网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
济南网站制作的价格,历城一职专官方网站?
如何在IIS中新建站点并解决端口绑定冲突?
,怎么用自己头像做动态表情包?
Python多线程使用规范_线程安全解析【教程】
在线教育网站制作平台,山西立德教育官网?
如何快速生成高效建站系统源代码?
Java解压缩zip - 解压缩多个文件或文件夹实例
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
教学论文网站制作软件有哪些,写论文用什么软件
?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
如何自定义建站之星模板颜色并下载新样式?
大同网页,大同瑞慈医院官网?
如何将凡科建站内容保存为本地文件?
Swift中switch语句区间和元组模式匹配
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何基于云服务器快速搭建网站及云盘系统?
如何快速搭建自助建站会员专属系统?
如何打造高效商业网站?建站目的决定转化率
香港服务器租用每月最低只需15元?
建站之星后台密码如何安全设置与找回?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
广州建站公司哪家好?十大优质服务商推荐
c++ stringstream用法详解_c++字符串与数字转换利器
如何实现建站之星域名转发设置?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
黑客如何通过漏洞一步步攻陷网站服务器?
贸易公司网站制作流程,出口贸易网站设计怎么做?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
建设网站制作价格,怎样建立自己的公司网站?
公司网站的制作公司,企业网站制作基本流程有哪些?
建站之星如何修改网站生成路径?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
建站主机选购指南与交易推荐:核心配置解析
如何在西部数码注册域名并快速搭建网站?
C#怎么创建控制台应用 C# Console App项目创建方法
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
手机网站制作与建设方案,手机网站如何建设?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
制作网站的公司有哪些,做一个公司网站要多少钱?
如何选择高效稳定的ISP建站解决方案?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
*请认真填写需求信息,我们会在24小时内与您取得联系。