2015-07-21 5 views
3

как можно проверить, что на самом деле happning Inn функцию удаления на ресурс, потому что каждый раз, когда я удалить его говорит успех, но обновление UI оленья кожаПроверка модуля удаления и обновления пользовательского интерфейса угловой ngResource

мой HTML

 <md-content > 
        <div id="main" class="well"> 

         <table cellpadding="20" class="table table-bordered table-striped"> 
          <tr> 
           <th ng-repeat="(head, value) in models[0]"><span>{{head}}</span></th> 
          </tr> 
          <tr ng-repeat="row in models"> 
           <td ng-repeat="(name, value) in row" ng-scope> 
            <span ng-click="" ng-bind="row[name]"></span> 


           </td> 
           <td > 
            <a target="_self" href="#" ng-click="downlaodId(row)">Downlaod</a> 
           </td> 
           <td > 
            <a target="_self" href="#" ng-click="deleteId(row)" 
             confirmation-needed="Really Delete?">Delete</a> 
           </td> 
          </tr> 
         </table> 

        </div> 

    </md-content> 

мой контроллер

$scope.deleteId = function (idPassed) { 

    fileLoadService.delete({ 'id': idPassed.id },function(successResult) { 
     alert('Deleted'); 
    }, function (errorResult) { 
     // do something on error 
     if (errorResult.status === 404) { 
      alert('Ooops'); 
     } 
    }); 

}; 

мой интерфейс выглядит следующим образом после удаления нажмите fileLoadservice

app.factory('fileLoadService', ['$resource', 
      function ($resource) { 
       return $resource(
    "http://jsonplaceholder.typicode.com/todos/:id", 
    { id: "@id" }, 
    { 

     "query": { 'method': 'GET', isArray: true } 

    }); 

}]);

enter image description here

+0

вы должны обновить 'model' на удаления – user2718281

ответ

3

Как вы можете видеть из кода:

$scope.deleteId = function (idPassed) { 

    fileLoadService.delete({ 'id': idPassed.id },function(successResult) { 
     alert('Deleted'); 
    }, function (errorResult) { 

Вы не делаете ничего для текущей модели, просто отправив уведомление Deleted, когда вы нажмете кнопку удаления. Если вы хотите, чтобы он сделал что-то еще ... вы должны поместить эту функциональность в код.

Например:

$scope.deleteId = function (idPassed) { 

     fileLoadService.delete({ 'id': idPassed.id },function(successResult) { 
      var index = $scope.models.indexOf(idPassed); 
      $scope.models.splice(index, 1); 
      alert('Deleted'); 
     }, function (errorResult) { 
+0

Что и означает? Это метод (deleteId (id)) вызывается кнопкой в ​​пользовательском интерфейсе. Служба fileLoad возвращает ресурс. Что я скучаю по ней –

+0

Ваша модель никогда не обновляется. Если вы хотите, чтобы изменения отражались на текущем экране, вам необходимо обновить модель. Проверьте код, который я разместил выше. –

+0

Спасибо, он работал на ui, но не уверен, что api работает с удалением на api, потому что когда я перезагружаю страницу, она просто появилась. изменяет ли jsonplaceholder api persist какое-то время –