私はng-tableの最初の例に従っています( http://bazalt-cms.com/ng-table/example/1 )。
TableParams以外はすべて機能しているようです。コントローラに含めるとすぐに、ページに何も表示されません。
この例と私のコードの違いは、jsonサービスからデータをロードすることです。
angular.module('mean.cars').controller('CarsController', ['$scope', '$stateParams', '$location', 'Global', 'Cars',
function ($scope, $stateParams, $location, Global, Cars, ngTableParams) {
$scope.global = Global;
var data = Cars.query();
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10 // count per page
}, {
total: data.length, // length of data
getData: function($defer, params) {
$defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
Cars.query();うまく機能しています(テスト済み)。だから私は何が欠けていますか?次の行に「未定義は関数が発生していません」というJavaScriptエラーがあります。
$scope.tableParams = new ngTableParams({
AngularとngTableプラグインも初めてですが、問題は、モジュールにngTableの参照を追加していないことだと思います。
angular.module('mean.cars', ['ngTable'])
.controller('CarsController', ['$scope',
'$stateParams',
'$location',
'Global',
'Cars',
'ngTableParams',
function ($scope, $stateParams, $location, Global, Cars, ngTableParams) { ...
モジュールの依存関係の「ngTable」と、コントローラーの「ngTableParams」を見逃しました。
これがお役に立てば幸いです。
NgTableParamsがどこから来たのかわかりませんが、注入していません。
['$scope', '$stateParams', '$location', 'Global', 'Cars',
function ($scope, $stateParams, $location, Global, Cars, ngTableParams) {
どちらかは次のようになります。
['$scope', '$stateParams', '$location', 'Global', 'Cars', 'ngTableParams',
function ($scope, $stateParams, $location, Global, Cars, ngTableParams) {
またはこのように:
['$scope', '$stateParams', '$location', 'Global', 'Cars',
function ($scope, $stateParams, $location, Global, Cars) {
これを試して、ngTableParamsを置き換えてください-> NgTableParams angle.module( 'mean.cars')。controller( 'CarsController'、['$ scope'、 '$ stateParams'、 '$ location'、 'Global'、 'Cars'、関数($ scope、$ stateParams、$ location、Global、Cars、NgTableParams){
そして
$ scope.tableParams = new NgTableParams({。それは私のために働いた。