2015-04-15 2 views
0

Я задавался вопросом, какой из объектов JavaScript, необходимых, чтобы быть в состоянии назвать обозначения как этот {{item.descriptions.comments}}Угловые JS JavaScript массив обозначений

код, как это

<div ng-app="manyminds" ng-controller="MainCtrl"> 
<div class="idea item" ng-repeat="item in items" isoatom>  
    <br /> 
    {{item.descriptions.comments}} 
</div> 
</div> 

angular.module('manyminds', [], function() {}).filter('range', function() { 
    return function(input, min, max) { 
     var range = []; 
     min = parseInt(min); //Make string input int 
     max = parseInt(max); 
     for (var i=min; i<=max; i++) 
      input[i] && range.push(input[i]); 
     return range; 
    }; 
}); 

    function MainCtrl($scope) 
    { 

     $scope.items = [ 
      {descriptions:[ 
       { 
        comments: [ 
         'comment A in item 0', 
         'comment B in item 0' 
         ] 
       }, 
       { 
        comments: [ 
         'comment A in item 1', 
         'comment B in item 1', 
         'comment C in item 1', 
         'comment D in item 1' 
         ] 
       } 
      ]}, 
      {descriptions:[ 
       { 
        comments: [ 
         'comment A in item 0', 
         'comment B in item 0' 
         ] 
       }, 
       { 
        comments: [ 
         'comment A in item 1', 
         'comment B in item 1', 
         'comment C in item 1', 
         'comment D in item 1' 
         ] 
       } 
      ]},  
      ]; 
    } 

Я могу показать его, если запись подобно этому {{item.descriptions}}, но как я должен настроить $ scope.items, чтобы быть в состоянии назвать как этого {{item.descriptions.comments}}

+0

'{item: {description: { комментарии: «Hello World!»}}} ', хотя это, конечно, будет работать только для одного элемента/описания/комментария. –

ответ

0

Допуская предметы, описания и комментарии все должны быть массивами, вы можете вложить нг-повторы, если Вы пытаетесь показать комментарии для каждого описания:

<div ng-app="manyminds" ng-controller="MainCtrl"> 
<div class="idea item" ng-repeat="item in items" isoatom>  
    <div ng-repeat="description in item.descriptions"> 
     <div ng-repeat="comment in description.comments"> 
      {{ comment }} 
     </div> 
    </div> 
</div> 
</div> 
0

Вы установили $scope.items и попытаться получить к нему доступ через {{item}}, который не будет работать.

Либо используйте $scope.item, либо получите доступ к нему с помощью {{items}} в вашем шаблоне.

0

Это может быть предмет, который нужно:

$scope.items = [ 
    { 
    name:'item1', 
    descriptions: [ 
     { 
     name:'description1', 
     comments:['commentary1','commentary2'] 
     }, 
     { 
     name:'description2', 
     comments:['commentary1','commentary2'] 
     } 
    ] 
    }, 
    { 
    name:'item2', 
    descriptions: [ 
     { 
     name:'description1', 
     comments:['commentary1','commentary2'] 
     }, 
     { 
     name:'description2', 
     comments:['commentary1','commentary2'] 
     } 
    ] 
    }]; 

вид должен быть чем-то вроде этого:

<div ng-repeat="item in items"> 
    <h1>{{item.name}}</h1> 
    <div ng-repeat="description in item.descriptions"> 
    <h3>{{description.name}}</h3> 
    <div ng-repeat="comment in description.comments"> 
     <p>{{comment}}</p> 
    </div> 
    </div> 
</div> 
+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). – apaul

+0

@ apaul34208 Я ценю ваш совет;) –

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