AngularJS:未在表格中显示的新对象

时间:2016-07-18 06:57:38

标签: javascript angularjs

我正在使用dir-paginate库对页面上的数据进行分页。我遇到的问题是当我将新对象添加到列表并立即在页面上查看时。在控制器方面,每件事似乎都运转正常。

这是我的控制器

      /**
       * Array of all the items
       */
      $scope.allItems = [];

$scope.postResource = function() {
        ProjectsFactory.save($scope.newProject)
          .success(function(data) {
            $scope.allItems.push(data);
            console.log($scope.allItems);
            $scope.newProject = ''
            ToastService.show('Added successfully!');
          })
          .error(function(data) {
            sweetAlert("Oops...", "Something went wrong!", "error");
            console.log(data);
          });
      }

注意我正在做的日志。在控制台页面上,我可以看到新对象正被添加到其余对象中。我认为问题出现在视图方面,看起来就像这样。

  <table class="table table-bordered  table-hover table-condensed bg-white" st-table="rowCollectionBasic">
<thead>
  <tr>
    <th>Name</th>
    <th>Description</th>
    <th>Actions</th>
  </tr>
</thead>
<tbody>
  <tr dir-paginate="item in allItems | filter: search.query | itemsPerPage : itemPerPage" total-items="totalProjects" current-page="currentPage">
    <td>{{item.name}}</td>
    <td>{{item.description}}</td>
    <td style="width:150px">
      <button class="btn btn-info btn-sm" ng-click="showEditDialog($event, item)">
        <i class="glyphicon glyphicon-edit"></i>
      </button>
      <button class="btn btn-danger btn-sm" ng-click="deleteResource(item, $index)">
        <i class="glyphicon glyphicon-trash"></i>
      </button>
    </td>
  </tr>
</tbody>
<tfoot>
  <tr>
    <td colspan="20" class="text-center">
      <dir-pagination-controls on-page-change="pageChanged(newPageNumber)" boundary-links="true"></dir-pagination-controls>
      <md-progress-circular md-mode="indeterminate" ng-if="AjaxInProgress"></md-progress-circular>
    </td>
  </tr>
</tfoot>

要在页面上查看新创建的对象,我需要刷新页面或单击其他位置并再次返回到同一页面。

有人知道我做错了什么?

更新#1

项目服务有$ http

      // save a new resource
  save: function(data) {
    return $http({
      url: $rootScope.baseUrl + 'projects',
      method: 'POST',
      data: data
    });

  },

谢谢!

0 个答案:

没有答案