getData関数に渡す必要があるパラメータが未定義のng-tableを使用して問題が発生しています。私はAngularJSとng-tableの初心者ですから、どんな助けもありがたいです。私は、以下のコードのREST呼び出しを直接呼び出すことで動作することを確認しました。そのため、問題は角度コード/設定のどこかにあります。ng-tableのgetData関数で未定義のパラメータ
とにかく、私のコントローラの疑似例です。実際のコードはイントラネット上にあるので、直接貼り付けることはできません。したがって、転写からの誤字を赦してください。 NG-表1.0.0および1.5.8の角を使用した:
myApp.controller('myCtrl', ['$scope', '$http', 'NgTableParams',
function($scope, $http, NgTableParams) {
$http.get('services/data/count').success(function(data) {
// this works fine
$scope.totalRows = data.rowCount;
});
$scope.tableParams = new NgTableParams({
page: 1
count: 20
}, {
total: $scope.totalRows,
getData: function($defer, params) {
// this line fails with params being undefined
$http.get('/services/data/' + params.page() + '/' + params.count()) {
.success(function(data) {
$scope.data = data;
$defer.resolve(data);
});
}
});
}]);
そして、ここでは、HTMLの関連作品です:
<table ng-table="tableParams" class="table table-condensed table-striped">
<tr ng-repeat="row in data">
// row stuff here
</tr>
</table>
私はのgetData HTTP呼び出しの前にconsole.logステートメントを挿入しました、 paramsは定義されていないものとして出力されます。
を私はあなたが 'あなた' $のdefer'変数をconsole.log'場合は、あなたがオブジェクトを参照してくださいよ疑うます「params」が成立することを期待していた。 –
また、 '$ http。success'は廃止予定です(https://docs.angularjs.org/api/ng/service/$http#deprecation-notice)。代わりに 'then(function(response)、function(rejectionReason))'を使用してください。 –
$ deferに必要な値があります。このJSの初心者からの質問は「なぜ?」と思います。しかし、私は今、前進することができます。どうもありがとう。 –