2016-03-01 3 views
1

Если значение описания пуст, значение должно быть создано как «Корневой документ» и помещено в начало списка.Как создать HTML-шаблоны структуры дерева с помощью Angularjs

Если значение Описание не пусто, значение должно быть создано в качестве имени папки и названия должны быть созданы в корневой каталог документов «Имя папки»

Если описание значение равно другое значение доступно в данных JSON, они значение не должно быть создано имя папки, которое оно создало только для корневого документа для значения согласованного описания (имя папки).

Если значение Описание (один> два), как «два» должно быть создано в качестве подкаталога «один» и «название», должно быть создано как корневой документ подпапки (два).

Html:

<div ng-controller="TodoCrtl"> 
     <ul> 
     <li ng-repeat="description in getDescriptions()" style="color:red;"> 
      {{description}} 
      <ul> 
      <li ng-repeat="bookmark in flaternedBookmarks|filter:{description:description}" style="color:blue;"> 
       {{bookmark.title}} 
      </li> 
      </ul> 
     </li> 
     </ul> 
    </div> 

JS файл:

function TodoCrtl($scope) { 

    $scope.names = [{ 
    "description": "Testing File", 
    "totalCount": 6, 
    "bookmarks": 
    [ 
     { 
      "title": "Google", 

      "description": "Health Care", 

     }, 

     { 
      "title": "Test Construction1", 

      "description": "", 

     }, 



     { 
     "title": "one 1.1", 

     "description": "one", 

     }, 

     { 
     "title": "one 1.2", 

     "description": "one", 

     }, 

     { 
     "title": "Test Connection", 

     "description": "Education", 

     } , 
     { 
     "title": "Project EA TEST 1", 

     "description": "", 

     }, 

     { 
     "title": "one 2.1", 

     "description": "one > two", 

     }, 

     { 
     "title": "one 2.2", 

     "description": "one > two", 

     } 
    ] 

}]; 



    $scope.getDescriptions=function(){ 
    var descriptions=[]; 
    $scope.flaternedBookmarks=[]; 
    var arr= $scope.names; 
    angular.forEach(arr,function(ai){ 
    angular.forEach(ai.bookmarks,function(v){ 
     if(v.description.trim()==='') 
     { 

      descriptions.splice(0,0,v.title.trim()); 
     }else 
      { 

      descriptions.splice(descriptions.length-1,0,v.description.trim()); 
      } 
     $scope.flaternedBookmarks.push(v); 
    }); 
    }); 


    return descriptions.filter (function (v, i, a) { return a.indexOf (v) == i; }); 
    }; 

Теперь проблема пуста Ul была создана в «корневых документах и ​​как добавить логику Если Описание значения (один> два), который должен быть создан как «два», поскольку в этом скрипте должна быть создана Sub-папка «one» и «title» значение в качестве корневого документа подпапки (два).

Все корневые документы используют тот же класс и всю папку и использовать подпапку же класса

Working Link JS bin

Expecting Format

ответ

Смежные вопросы