国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular中ng-repeat與ul li的多層嵌套重復問題

2019-11-19 16:00:23
字體:
來源:轉載
供稿:網友

學習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的多層嵌套,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新干县| 贡觉县| 南丰县| 屏东县| 凌海市| 威信县| 濮阳市| 松溪县| 吴川市| 宁南县| 山东| 溧阳市| 临安市| 新余市| 罗源县| 丹东市| 镇安县| 绿春县| 宜兰市| 安乡县| 沾益县| 临湘市| 沂源县| 平昌县| 上思县| 柳河县| 乐东| 遂昌县| 莒南县| 改则县| 西贡区| 宁波市| 宝清县| 泊头市| 温宿县| 荣昌县| 滦平县| 长汀县| 秭归县| 三穗县| 平山县|