【问题标题】:iterating a multidimensional Json with AngularJS(Ng-Repeat)使用AngularJS(Ng-Repeat)迭代多维Json
【发布时间】:2014-10-14 11:56:38
【问题描述】:

我无法使用 Ng-Repeat 显示子类别的所有元素。实际上,我可以使用此代码显示所选类别中的所有事件,但我不知道如何显示特定事件中的所有活动。 我有这个代码....

HTML

<div class = "categorias_eventos">
           <ul>
              <li value = "0" class = "active">
                 <img src="images1"  ng-click="categorySelected = {categoryName: '1'}">
              </li>
              <li value = "1" class = "active">
                 <img src="images2" ng-click="categorySelected = {categoryName: '2'}">
              </li>
              <li value = "2">
                 <img src="images3" ng-click="categorySelected = {categoryName: '3'}">
              </li>
              <li value = "3" >
                 <img src="images4" ng-click="categorySelected = {categoryName: '4'}">
              </li>
              <li value = "4">
                 <img src="images5" ng-click="categorySelected = {categoryName: '5'}">
              </li>
           </ul>               
        </div>
<div ng-controller="Test">                     
   <div ng-repeat="evento in eventos | filter:categorySelected" ng-click = "eventSelected = {id: '{{evento.id}}'}">
      <div class="infoEvento">
         <div class="name_event">
            {{evento.eventName}}
         </div>            
      </div>                           
   </div>                     
</div>

<!-- Activitys -->
<div ng-controller="Test">                     
   <div ng-repeat="activity in evento.activitys | filter:eventSelected">
      <div class="infoEvento">
         <div class="name_event">
            {{activitys.description}}
         </div>            
      </div>                           
   </div>                     
</div>

JAVASCRIPT

function Test($scope) {
  $scope.eventos = [

   {  
      "id":"1",
      "dateStart":"01-12-2014",
      "dateEnd":"12-12-2014",
      "eventName":"partyDeluxe",
      "categoryName":"Category 1",
      "activitys":
        [
           {
               "pic_id":"1500",
               "description":"Picture of a computer",
               "localion":"img.cloudimages.us/2012/06/02/computer.jpg",
               "type":"jpg"            
           },
           {
               "pic_id":"100",
               "description":"Picture of a computer",
               "localion":"img.cloudimages.us/2012/06/02/computer.jpg",
               "type":"jpg"            
           },
           {
               "pic_id":"15",
               "description":"Picture of a computer",
               "localion":"img.cloudimages.us/2012/06/02/computer.jpg",
               "type":"jpg"            
           }
         ]  
   },

   ];;
   }

【问题讨论】:

    标签: javascript json angularjs multidimensional-array


    【解决方案1】:

    您遇到的问题是您的内部ng-repeat 位于您的外部之外,这意味着活动上下文是未知的。要解决此问题,您只需重新考虑您的 div 布局,将一个 ng-repeat 包含在另一个中。例如:

    <div ng-controller="Test">                     
       <div ng-repeat="evento in eventos | filter:categorySelected">
           <div ng-click = "eventSelected = {id: '{{evento.id}}'}">
               <div class="infoEvento">
                   <div class="name_event">
                       {{evento.eventName}}
                   </div> 
               </div>           
           </div>   
    
           <!-- Activitys -->
           <div ng-controller="Test">                     
               <div ng-repeat="activity in evento.activitys | filter:eventSelected">
                   <div class="infoEvento">
                       <div class="name_event">
                           {{activitys.description}}
                       </div>            
                   </div>                            
               </div>                     
           </div>            
        </div>                     
    </div>
    

    【讨论】:

    • 非常感谢,但如果您想在同一层次结构中的另一个 div 中打印迭代活动。有可能吗?
    • 同层级是什么意思?请提出您真正想回答的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2015-08-11
    相关资源
    最近更新 更多