2014-11-24 2 views
0

Google App Engine (Cloud 종단점)과 AngularJ를 사용하여 간단하게 구현하려고합니다.목록이 AngularJS에서 새로 고침되지 않습니다.

나는 내 백엔드와 모든 것이 잘 작동하도록 개발했습니다. 내 문제는 각도다.

서비스를 저장 또는 삭제로 호출 한 후 내 목록이 새로 고침되지 않습니다.

내 코드 컨트롤러 :

app.controller('admEstadoController',['$scope','admEstadoService', function ($scope, admEstadoService) { 

$scope.saveEstado = function() { 

    admEstadoService.saveEstado($scope); 
} 

$scope.deleteEstado = function(id) { 

    admEstadoService.deleteEstado(id,$scope); 
} 

$scope.listEstado = function() { 

    admEstadoService.listEstado($scope); 
} 


}]); 

이 내 서비스입니다 :

app.factory('admEstadoService',[function() { 

    var admEstadoService = {}; 

    admEstadoService.listEstado = function($scope) { 
     gapi.client.enadepopapi.listEstado().execute(function(resp) { 
      $scope.estados = resp.items; 
      $scope.$apply(); 

     }); 

    } 



    admEstadoService.saveEstado = function($scope) { 

     estado = { 
       "estado" : $scope.estado, 
       "nome" : $scope.nome 
     }; 

     gapi.client.enadepopapi.saveEstado(estado).execute(); 

    } 


    admEstadoService.deleteEstado = function(id,$scope) { 

     estado = { 
       "estado" : id 

     }; 

     gapi.client.enadepopapi.deleteEstado(estado).execute(); 

    } 



    return admEstadoService; 

}]); 

그리고 내 생각은 : 당신이 데이터를 업데이트하더라도

<div class="panel panel-default" ng-show="is_backend_ready"> 
<div class="panel-heading">Manutenção de Estados</div> 
<div class="panel-body">    
    <div class="row"> 
     <div class="col-md-6 col-md-offset-3"> 
      <form role="form"> 
       <div class="form-group"> 
        <label for="txtEstado">Estado</label> 
        <input type="text" class="form-control" id="txtEstado" placeholder="" ng-model="estado"> 
       </div> 
       <div class="form-group"> 
        <label for="txtNome">Nome</label> 
        <input type="text" class="form-control" id="txtNome" placeholder="" ng-model="nome"> 
       </div> 
       <button type="submit" ng-click="saveEstado()" class="btn btn-default">Gravar</button> 
      </form> 

      <div class="bs-example-bg-classes" style="margin-top:10px;"> 
       <p class="bg-success"> Registro Gravado com sucesso!</p> 
      </div> 

      <div class="clearfix"></div> 

      <div ng-init="listEstado()"> 
       <table class="table table-hover"> 
        <tbody class="table-hover"> 
         <tr> 
          <th>Estado</th> 
          <th>Nome</th> 
          <th>Operação</th> 
         </tr> 

         <tr ng-repeat="estado in estados"> 
          <td>{{estado.estado}}</td> 
          <td>{{estado.nome}}</td> 
          <td><button type="button" ng-click="deleteEstado(estado.estado)" class="btn btn-default">Excluir</button> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
     </div> 
    </div> 
</div> 

+0

이유를 설명해야하는 이유를 설명해주십시오. –

+0

데이터를 새로 고침해야합니다. 다시 저장/업데이트 한 후 목록 기능을 호출하십시오. – Nipper

답변

1

백엔드에서 AngularJS는 이 사실을 알지 못한다. 저장 또는 삭제 후 listEstado()으로 전화해야합니다.

그러나 데이터 저장소로 ndb를 사용하는 경우 ndb의 최종 일관성 동작으로 인해 업데이트 된 데이터를 즉시 사용할 수 없다는 점에 유의하십시오.

관련 문제