全网整合营销服务商

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

免费咨询热线: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指令实现下拉框  # 小编  # 都是  # 在此  # 两次  # 树状  # 给大家  # 相关联  # 分别为  # 当我们  # 而非  # 所需要  # 如在  # 则会  # 所述  # 给我留言  # 思维方式  # 感谢大家  # 过程中  # 再如  # 组中 


相关文章: 如何快速搭建安全的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小时内与您取得联系。