2017-02-22 32 views
0

это JSON образца с 2-мя объектами им извлечения:проблемы с отображением данных в представлении (angularjs)

[{"project_id":"538","proyecto":"Caja","tarea":"DEF","fecha_termino":"00-00-00","estado":"Vencido","nombre_completo":"Christiano Ronaldo","alerta":"-Analista responsable: Lionel Messi.; \r\n-Estado Actual: DEF en Construcci\u00f3n detenido por el arbitro.; \r\n-Evaluaci\u00f3n validar en caja lejos. Validacion de pin de trajetas cau.;\r\n28-06-2017 : Usuario Suspende proyecto por cambio de prioridad."},{"project_id":"538","proyecto":"Caja ","tarea":"CAT y Capacity","fecha_termino":"00-00-00","estado":"Vencido","nombre_completo":"Christiano Ronalddo","alerta":"-Analista responsable: Lionel Messi.; \r\n-Estado Actual: DEF en Construcci\u00f3n detenido por capacity de Depto de Tarjetas.; \r\n-Evaluaci\u00f3n validar en caja atalla o redbanc. Validacion de pin de trajetas cau.;\r\n28-06-2017 : Usuario Suspende proyecto por cambio de prioridad."}] 

хранения я данные в угловых, которые будут отображаться:

scope.llamada1 = function() { 

    $http.get("conector.php?tipoDato=query1") 
    .then(function(response) { 
     $scope.mensajeEspera = ""; 
     $scope.datos1 = response.data; 

     for(var i = 0; i < $scope.datos1.length; i++){ 
      var currentObj = $scope.datos1[i]; 
      currentObj.TareasObj = currentObj.tarea + ", " + currentObj.fecha_termino + ", " + currentObj.estado + ", " + currentObj.nombre_completo; 
      console.log(currentObj.TareasObj); 
      $scope.detalleProyecto = currentObj.TareasObj; 
      currentObj.detalleProyecto = currentObj.TareasObj; 
     } 
    $scope.detalleProyecto = currentObj.TareasObj; 
    }); 
} 

У меня Проекты, и каждый проект может иметь несколько задач, мне нужно, чтобы отобразить данные, как это:

<table id="tablaTareas" class="table table-striped table-bordered" > 
    <thead> 
     <tr> 
     <td><b>Proyecto</b></td> 
     <td><b>Alerta</b></td> 
     <td><b>Tareas</b></td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr ng-repeat="x in datos1 "> 
      <td style="vertical-align: top;">{{x.proyecto}}</td> 
      <td style="vertical-align: top;">{{x.alerta}}</td> 
      <td style="vertical-align: top;"> 
      <table class="table table-striped table-bordered" > 
       <thead> 
        <tr> 
         <td><b>Tarea</b></td> 
         <td><b>Termino</b></td> 
         <td><b>Estado</b></td> 
         <td><b>Responsable</b></td> 
        </tr> 
       </thead> 

       <tbody> 
        <tr ng-repeat="y in x.detalleProyecto track by $index"> 
         <td style="vertical-align: top;">{{y.tarea}}</td> 
         <td style="vertical-align: top;">{{y.fecha_termino}}</td> 
         <td style="vertical-align: top;">{{y.estado}}</td> 
         <td style="vertical-align: top;">{{y.nombre_completo}}</td> 
        </tr> 
       </tbody> 
      </table> 

      </td> 
     </tr> 
    </tbody> 
</table> 

Я не знаю, что это проблема Wi й код, я думаю, что я могу получить данные в angulajs не так?

+0

* Я не знаю, что это проблема с кодом *: Если вы не можете сказать, что проблема в том, как мы можем помочь фиксируя его? Расскажите, что вы ожидаете от своего кода, и расскажите, что он делает. Код в функции обратного вызова then() не имеет большого смысла. Вы должны пересмотреть это. –

+0

Попробуйте отладить код. Может быть помещен 'console.log (response.data)' внутри http.get.then(), чтобы увидеть, есть ли данные. если есть, то посмотрите, имеет ли значение datos1 значение. и медленно вы достигнете точки, где вы найдете сбой. – Smit

+0

@ frager0 проверить plnkr https://plnkr.co/edit/AmVEq3gJrSRxTZux0lWa?p=preview –

ответ

0
for(var i = 0; i < $scope.datos1.length; i++){ 
    var currentObj = $scope.datos1[i]; 
    $scope.datos1[i].detalleProyecto = [{ 
     "tarea":currentObj.tarea , 
     "fecha_termino":currentObj.fecha_termino , 
     "estado":currentObj.estado, 
     "nombre_completo":currentObj.nombre_completo 
    }]; 
} 
+0

святой дерьмо чувак, это сработало! большое спасибо – frager0

2

Похоже, detalleProyecto каждого datos1 нуждается в tarea, fecha_termino, estado и nombre_completo, которые отсутствуют. И я не понимаю, зачем вам нужно «$ scope.detalleProyecto»., Поэтому я не могу этого исключить.

Для этого должно быть все это для его работы!

for(var i = 0; i < $scope.datos1.length; i++){ 
    var currentObj = $scope.datos1[i]; 
    currentObj.TareasObj = {tarea : currentObj.tarea , fecha_termino: currentObj.fecha_termino, estado:currentObj.estado, nombre_completo: currentObj.nombre_completo}; 
    currentObj.detalleProyecto = currentObj.TareasObj; 
} 
+0

Я думаю, вам придется нажать currentObj.TareasObj в currentObj.detalleProyecto aarray. currentObj.detalleProyecto.push (currentObj.TareasObj); –

+0

спасибо! im умеет хранить данные значений, упомянутых сейчас в TareasObj, но я все еще не могу отобразить их в представлении>. < – frager0

+0

В CurrentObj нет ключей TareasObj или detalleProyecto. Это не массив, поэтому я думаю, что все должно быть хорошо. Он просто добавит новые пары ключ-значение. –