2016-04-28 6 views
0

したがって、Angularでは、ng-Tableをデータセットにバインドしようとしていますが、レスポンスデータでは機能しないようです。私の問題はここのどこかにあると思います。 " - self.tableParams = new NgTableParams({}、{dataset: 'data'}); - "" ですが、わかりません。また、エラーコンソールも表示されません。 誰かが少し光を当てることができます、ありがとう。データセットからngTableにバインドできません

コントローラー:

UtilityApp.controller('u_CompaniesController', function ($scope, $http, NgTableParams) { 

$scope.message = "Companies"; 
$scope.myData = []; 
$http({ 
    method: 'GET', 
    url: '/Utility/GetCompanies', 
}).then(function successCallback(response) { 
    var self = this; 
    var data = response.data; 
    self.tableParams = new NgTableParams({}, { dataset: 'data' }); 

}, function errorCallback(response) { 
    alert("error"); 
});  

})。

NG-表

<div ng-controller="u_CompaniesController"> 
    <table id="tblCompanies" ng-table="vm.tableParams" class="table" show-filter="true"> 
     <tr ng-repeat="c in $tableParams"> 
      <td title="'CompanyCd'" filter="{ CompanyCd: 'text'}" sortable="'CompanyCd'"> 
       {{c.CompanyCd}} 
      </td> 
      <td title="'CompanyName'" filter="{ CompanyName: 'text'}" sortable="'CompanyName'"> 
       {{c.CompanyName}} 
      </td> 
     </tr> 
    </table> 
</div> 

答えて

0

コントローラ宣言下右にvar self = thisを移動してみてください。また、htmlをng-controller="u_CompaniesController as vm"で更新する必要があります。 this blogpostを読む。Controller as Syntaxの詳細については、

またはちょうど$scopeを使用してください、ちょうどあなたが角を始めていればそれをお勧めします。この場合、あなたのhtml ng-table="tableParams"

$scope.tableParams = new NgTableParams({}, { dataset: 'data' }); 

コントローラ

UtilityApp.controller('u_CompaniesController', function ($scope, $http, NgTableParams) { 

$scope.message = "Companies"; 
$scope.myData = []; 
$http({ 
    method: 'GET', 
    url: '/Utility/GetCompanies', 
}).then(function successCallback(response) { 

    var data = response.data; 
    $scope.tableParams = new NgTableParams({}, { dataset: 'data' }); 

}, function errorCallback(response) { 
    alert("error"); 
});  

HTMLほとんど働いていた

<div ng-controller="u_CompaniesController"> 
    <table id="tblCompanies" ng-table="tableParams" class="table" show-filter="true"> 
     <tr ng-repeat="c in $tableParams"> 
      <td title="'CompanyCd'" filter="{ CompanyCd: 'text'}" sortable="'CompanyCd'"> 
       {{c.CompanyCd}} 
      </td> 
      <td title="'CompanyName'" filter="{ CompanyName: 'text'}" sortable="'CompanyName'"> 
       {{c.CompanyName}} 
      </td> 
     </tr> 
    </table> 
</div> 
+0

おかげで、それが行を示しているが、それらはすべてですからvmを削除空の。 – jpavlov

+0

サーバーからデータを取得しているので、http://codepen.io/christianacca/pen/VLqqjP?editors=101を試してみてください。 –

関連する問題