問題

2017-02-22 3 views
0

これは2つのオブジェクトIM検索とJSONのサンプルである:問題

[{"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."}] 

Iストレージ角度のデータが表示される:私は

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'というキーはありません。その配列ではないので、私はそれがうまくいくはずだと思います。新しいキーと値のペアを追加するだけです。 –