Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Starting with AngularJS. 'NgTableParams' is not defined

I'm starting with my first AngularJS Application. I try with angular-gulp-browserify-starter, and work fine. But now I try add ngTable, but gulp build says:

'NgTableParams' is not defined.

I'm trying follow these steps: http://ng-table.com/.

1- Add ng-table with bower

bower install ng-table --save

2- Add module to app.js

var angular = require('angular');

angular.module('myApp', ['ngTable']);   // this is the new line

module.exports = angular.module('myApp',
    [
        require('./common/common.js').name,
        require('./modules').name
    ])
    .config(require('./appConfig'))
    .constant('version', require('../package.json').version)
    .run(require('./common/common-init.js'));

3- And this is my controller

'use strict';
function TableCtrl($scope) {
    $scope.testVar = 'This my test for ngtable';
}
TableCtrl.$inject = ['$scope'];
module.exports = TableCtrl;

Where and how I put this?

var self = this;
var data = [{name: "Moroni", age: 50} /*,*/];
self.tableParams = new NgTableParams({}, { dataset: data});

I have the HTML like ng-table sitle instructions says.

Thanks!

like image 239
pablorsk Avatar asked Dec 29 '15 23:12

pablorsk


2 Answers

var App = angular.module('AdminApp.Report.Controllers.Stores', ['ngMaterial','ngTable']);

App.controller('SomeController', ['$scope', '$http','NgTableParams', function ($scope, $http, NgTableParams) {

        httpService.PostApiRequest(request,'/api/someUrl').then(function(data) {
            $scope.tableParams = new NgTableParams({}, { dataset: data});
        });
    }
}]);

This is the easiest implementation in my option

like image 57
adi ben Avatar answered Sep 27 '22 18:09

adi ben


i got the same error, the documentation is missing a point : -> you have to inject ngTableParams in the controller

I'm not sur of the syntax (i don't use this one)

function TableCtrl($scope) {
    $scope.testVar = 'This my test for ngtable';
    // if this is your controller, every var you put in the $scope will be accessible in the view

    var data = [{name: "Moroni", age: 50} /*,*/];
    $scope.tableParams = new NgTableParams({}, { dataset: data});   
}
TableCtrl.$inject = ["$scope","NgTableParams", "ngTableSimpleList"];
module.exports = TableCtrl;
like image 23
AlainIb Avatar answered Sep 27 '22 17:09

AlainIb