Ошибка: [$ injector: unpr] Неизвестный поставщик: ngTableParamsProvider <- ngTableParams

Я пытаюсь использовать ng-table и пытаюсь добавить его во многие места, но это дает ошибку для всех случаев.

Когда я добавляю ngTable в app.js, он дает:

Ошибка: [$ injector: unpr] Неизвестный поставщик: ngTableParamsProvider < - ngTableParams

Когда я добавляю ngTable в контроллер, его предоставление undefined не является функцией для контроллера.

Как его разрешить?

Ответы

Ответ 1

Вам нужно

  • Добавить ссылку на <script src="....ng-table.js"></script> (скорее всего, в вашем файле index.html)
  • Ввести ngTable в ваш модуль angular, т.е.:

    var myApp = angular.module('myApp',['ngTable']);

  • в контроллере

    myApp.controller('someCtrl', function($scope, ngTableParams) {....});

Ответ 2

Другой причиной этой ошибки является переименование ngTableParams в ngTableParams в версия 1.0.0. Итак, если вы используете версию 1.0.0, код должен выглядеть так:

customModule.factory("customTable", function (NgTableParams) {

    function setupNgTable() {
        var parameters = {
            count: 10
        };

        var settings = {
            getData: function (params) {

            }
        };

        return new NgTableParams(parameters, settings);
    }
}

Ответ 3

Похоже, что ngTableParams теперь изменено на ngTableParams, начиная с "N" вместо "n".

Итак, теперь код будет выглядеть примерно так:

Сначала добавьте ссылку ng-table.js или ng-table.min.js в свой HTML-код.

Затем в вашем приложении app.js или в части script выполните следующие действия:

var app = angular.module('XXX', ['ngTable']);

app.controller('XXXXX', function($scope, NgTableParams){

//-Inside wherever your using ngTableParams change it to NgTableParams

................

});

Надеюсь, это поможет.

Ответ 4

Чтобы использовать модуль ngTable, вам необходимо выполнить шаги в http://ng-table.com

Помните, что инъекция NgTableParams имеет капитал N