2017-02-22 94 views
0

这与2个对象即时检索一个JSON样品:问题与在视图中显示的数据(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

尝试调试您的代码。可以在http.get.then()中放置'console.log(response.data)'来查看是否有数据。如果存在,则查看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

看起来像每个datos1的detalleProyecto需要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

谢谢!我能够将我现在提到的值的数据存储在TareasObj中,但我仍然无法在视图中显示它们。< – frager0

+0

currentObj没有键'TareasObj'或'detalleProyecto'。它不是一个数组,所以我认为它应该没问题。它只会添加新的键值对。 –