0

Файл шаблона не отображает данные из служебного файла, может кто-то, пожалуйста, проверьте код и исправьте меня. Спасибо.Угловой шаблон, не отображающий данные служебного файла

Также я проверил, передаются ли данные контроллером, что происходит. Но ничего не отображается, кроме индекса. Я попробовал привязку данных несколькими способами, но проблема, похоже, повторяется.


HTML

<div class="panel3 panel-primary"> 
    <div class="panel-heading">Documents</div> 
    <table class="table table-bordered table-condensed table-striped"> 

     <tr> 
      <th>Serial Number</th> 
      <th>Document Type</th> 
      <th>Document Date</th> 
      <th>Status</th> 
      <th>Last Update Date</th> 
     </tr> 
     <tr ng-repeat="file in selectedDoc"> 
      <td>{{$index+1}}</td> 
      <td>{{file.id.s.documentType}}</td> 
      <td>{{file.id.s.documentDate}}</td> 
      <td>{{file.id.s.status}}</td> 
      <td>{{file.id.s.lastUpdateDate}}</td> 
     </tr> 

    </table> 
</div> 

Контроллер

"use strict"; 

angular.module("fleetDocumentsModule").controller("fleetDocumentsController", 
    ['$scope', 'fleetDocumentsService', 

     function ($scope, fleetDocumentsService) { 


      $scope.selectedDoc = fleetDocumentsService.getDocuments(); 
      console.log("inside service file", $scope.selectedDoc) 
     }]); 

Файл службы

"use strict"; 

angular.module("fleetDocumentsModule").service("fleetDocumentsService", 

     function() { 
      this.getDocuments = function() { 
       return documents; 
      }; 
      var documents = [ 
       { 
        "id": "1", 
        "s":[{       
          "documentType": 'POD', 
          "documentDate": '01-12-2015', 
          "status": 'Printed', 
          "lastUpdateDate": '28-12-2015' 
         }, 
        {      
          "documentType": 'SIM', 
        "documentDate": '01-12-2015', 
        "status": 'Printed', 
        "lastUpdateDate": '28-12-2015' 
       }      
       ]}, 
        { 
         "id": "2",      
         "s": [{ 
          "documentType": 'DOC', 
          "documentDate": '01-12-2015', 
          "status": 'Printed', 
          "lastUpdateDate": '28-12-2015' 
         }, 
        { 
         "documentType": 'LLTM', 
         "documentDate": '01-12-2015', 
         "status": 'Printed', 
         "lastUpdateDate": '28-12-2015' 
        } 
         ]},     
        { 
         "id": "3",      
         "s": [{ 
          "documentType": 'TOM2', 
          "documentDate": '01-12-2015', 
          "status": 'Printed', 
          "lastUpdateDate": '28-12-2015' 
         }, 
         { 
          "documentType": 'TOM3', 
          "documentDate": '01-12-2015', 
          "status": 'Printed', 
          "lastUpdateDate": '28-12-2015' 
         }, 
        { 
         "documentType": 'TOM4', 
         "documentDate": '01-12-2015', 
         "status": 'Printed', 
         "lastUpdateDate": '28-12-2015' 
        } 
         ]}, 
      { 
       "id": "4", 
       "s":[{ 
        "documentType": 'TTL', 
        "documentDate": '01-12-2015', 
        "status": 'Recieved', 
        "lastUpdateDate": '28-12-2015' 
       }], 
      }, 
      { 
       "id": "5", 
       "s":[{ 
       "documentType": 'RET', 
       "documentDate": '01-12-2015', 
       "status": 'Printed', 
       "lastUpdateDate": '28-12-2015' 
       }], 
      } 
      ]}); 

ответ

1

Вы не используете правильные свойства в силу для каждого объекта

Свойство file.s является массив не приемлю и не file.id.s

Попробуйте изменить:

{{file.id.s.documentType}} 

До

{{file.s[0].documentType}} 

DEMO

+0

Привет, нормально его вызов, но его не вызывают все, что нужно отображать под «id»: «1». Например: в id: 1 он должен отображать все 2 объекта. В id: 3 отображать все 3 объекта –

+0

отлично работает здесь http://plnkr.co/edit/4kf4jjDkcYfXvUn0Kpe4 – charlietfl

+0

ok, если вы заметили в браузере, отображается только первый набор данных в каждом массиве s. Как сделать все данные в этом массиве отображаемыми? –

0

Привет ошибка от того, как вы ссылки на объект. Ваша структура объекта заключается в следующем:

{ 
      "id": "4", 
      "s":[{ 
       "documentType": 'TTL', 
       "documentDate": '01-12-2015', 
       "status": 'Recieved', 
       "lastUpdateDate": '28-12-2015' 
      }], 
     } 

в то время как вы пытаетесь ссылаться на это следующим образом:

<tr ng-repeat="file in selectedDoc"> 
     <td>{{$index+1}}</td> 
     <td>{{file.id.s.documentType}}</td> 
     <td>{{file.id.s.documentDate}}</td> 
     <td>{{file.id.s.status}}</td> 
     <td>{{file.id.s.lastUpdateDate}}</td> 
    </tr> 

вместо этого способа:

<tr ng-repeat="file in selectedDoc"> 
     <td>{{$index+1}}</td> 
     <td>{{file.s[0].documentType}}</td> 
     <td>{{file.s[0].documentDate}}</td> 
     <td>{{file.s[0].status}}</td> 
     <td>{{file.s[0].lastUpdateDate}}</td> 
    </tr> 

вам не нужна id часть. Надеюсь, что это исправляет!

+0

Свойство '' 'массив, поэтому он не имеет свойств объекта – charlietfl

+0

Thanx. Я только это заметил. И ваш ответ тоже – kennasoft

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