2016-10-12 2 views
-1

나는 사용자 기록의 삽입 작업 중입니다. 삽입 후 즉시 기록을 보여줄 필요가 있습니다. 이건 내 삽입 기록을위한 나의 js 코드입니다. 새로운 사용자 생성과 사용자 목록이 잘 작동한다는 것을 보여 주지만 페이지를 새로 고친 후 새로운 삽입 기록을 보여줍니다 .Angularjs 새 레코드를 삽입 한 후 서비스 데이터를로드하는 방법?

서비스에서 모든 사용자 레코드를 가져 오려면.

var users = this; 

    /***********ADD A USER(TAG INPUT)************/ 
     users.init = init; 
     function init(){ 
      getMyDoers(); 
     } 


    if(localStorageService.get('usersOpen') !== null){ 
     users.usersDoers = localStorageService.get('usersOpen'); 
    } 
    else 
    { 
     users.usersDoers = []; 
    } 
    localStorageService.set('usersOpen', users.usersDoers); 
    localStorageService.bind($scope, 'usersOpen'); 

    users.init = init; 
    function init(){ 
     getMyUsers(); 
    } 
    users.getMyUsers = getMyUsers; 

    function getMyUsers(){ 
     //$scope.data = []; 
     DataService.getMyUsers().then(function successCallback(response) { 
      $scope.data = response.data.results; 
      $scope.usersOpen.length = 0; 
      $scope.usersOpen.push({'data': response.data.results}); 
     },function errorCallback(response) { 

      } 
     ); 

    } 

Js to create users. 

$scope.createUser = function() 
    { 

     console.log($scope.UserID.join()); 
     $scope.userData = 'userIds='+$scope.UserID.join(); 
     DataService.createUser($scope.userData).then(function successCallback(response) { 
      console.log('created'); 

     },function errorCallback(response) { 

      } 
     ); 
    } 


<ul> 

<li ng-repeat="getMyUsers in UsersOpen[0].data track by $index"> 
    <div class="list_left"> 
     <div class="pro_img"> 
      <img src="images/user.png" alt=""/> 
     </div> 
     <div class="pro_text"> 
      <h2 class=""><a>{{ getMyDoers.firstName }}</a></h2> 
      <p class="">Apple, Book, Designer, Web developer</p> 
      <span><img src="images/location.png" alt=""/>New York, USA</span> 
     </div> 
    </div> 
</li> 

</ul> 
+0

로컬 저장소를 사용해야하는 구체적인 이유는 무엇입니까? – Aravind

답변

0

당신은 기능 getMyUsers() 동적보기를 업데이트 할 수 귀하의 각도 모델 'UsersOpen'을, 업데이트, 성공적으로부터 $scope.createUser()에서 사용자를 생성 한 직후, 당신의 '각도 서비스'기능 getMyUsers()를 호출 시도 할 수 있습니다. 아래와 같이

0

간단히 새로운 레코드를 삽입 한 후에 "getMyUsers"기능을 호출 "getMyUsers"함수 UsersOpen 모델을 갱신하고, 새롭게 추가 된 레코드가 업데이트 된 "UsersOpen"오브젝트에 포함되어야 할 것이다.

$scope.createUser = function() 
{ 
    console.log($scope.UserID.join()); 
    $scope.userData = 'userIds='+$scope.UserID.join(); 
    DataService.createUser($scope.userData).then(function successCallback(response) { 
     console.log('created'); 
     getmyUsers(); 
    },function errorCallback(response) { 

     } 
    ); 
} 
+0

함수를 호출하지만 레코드를 새로 고치지 않습니다. 삽입 된 레코드가 새로 표시되지 않습니다. – parv

+0

변수 "usersOpen"을 확인하십시오. 컨트롤러에서 "usersOpen"으로 정의하고이를 html의 "UsersOpen"으로 사용했습니다. 그리고 왜 "getMyUsers in ..."으로 "getMyUsers in UsersOpen [0] .data track by $ index"를 반복하고 있습니까? – superUser

+0

나는 이것을 변경했으나 작동하지 않는다. – parv

관련 문제