2015-02-24 85 views
0

我對角度相當陌生並試圖刪除一些代碼重複。我有兩個控制器連接到2個不同的視圖。這兩個視圖都會關閉到服務器以獲取統計數據,然後將它們顯示在表中。我正在使用ngtable。在這一點上,兩個控制器都有一個ngtable的配置塊,這個配置塊完全一樣。表格之間的唯一區別是其中一個顯示比另一個更多的列。無論如何,我有兩個控制器中的代碼:在角度控制器中共享ngTableParams

$scope.tableParams = new ngTableParams({ 
     page: 1,   // show first page 
     count: 10,   // count per page 
     sorting: { 
      groupName: 'asc'  // initial sorting 
     } 
    }, { 
     total: $scope.data.length, // length of data 
     getData: function ($defer, params) { 

      if (!$scope.validInputs()) 
       return; 

      var orderedData = $scope.data; 
      orderedData = $scope.filterText ? 
       orderedData.filter(filter) : 
       orderedData; 

      orderedData = params.sorting() ? 
       $filter('orderBy')(orderedData, params.orderBy()) : 
       orderedData; 

      params.total(orderedData.length); // set total for recalc pagination 
      $scope.page = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()); 
      $defer.resolve($scope.page); 
     } 
    }); 

什麼是一個很好的方法來消除這種重複?

回答

0

您可以使用set ngTableDefaults。

app.value('ngTableDefaults', { 
    params: { 
     page: 10,   // show first page 
     count: 100,   // count per page 
     sorting: { 
      groupName: 'asc'  // initial sorting 
     } 
    }, 
    settings: {} 
});