全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Angular中ng-repeat与ul li的多层嵌套重复问题

学习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小时内与您取得联系。