web-dev-qa-db-ja.com

エラー:[$ injector:unpr]不明なプロバイダー:ngTableParamsProvider <-ngTableParams

ng-tableを使用して、多くの場所に追加しようとしましたが、すべての場合にエラーが発生します。

App.jsにngTableを追加すると、次のようになります。

エラー:[$ injector:unpr]不明なプロバイダー:ngTableParamsProvider <-ngTableParams

コントローラにngTableを追加しているとき、undefinedを与えることはコントローラの関数ではありません。

どうすれば解決できますか?

14
Prateek

あなたが必要です

  1. _<script src="....ng-table.js"></script>_への参照を追加します(index.htmlファイルにある可能性が高い)
  2. NgTableをangularモジュールに挿入します。例:

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

  3. コントローラー内

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

15
sylwester

このエラーのもう1つの原因は、 バージョン1.0.ngTableParamsの名前がNgTableParamsに変更されたことです。したがって、バージョン1.0.0を使用している場合、コードは次のようになります。

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

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

        var settings = {
            getData: function (params) {

            }
        };

        return new NgTableParams(parameters, settings);
    }
}
22
Alexei

ngTableParamsNgTableParamsに変更され、「n」ではなく「N」で始まるようになりました。

したがって、コードは次のようになります...

まず、HTMLコードにng-table.jsまたはng-table.min.jsリンクを追加します。

次に、app.jsまたはスクリプト部分で次のようにします...

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

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

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

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

});

これがお役に立てば幸いです。

12
Sourav Sinha

NgTableモジュールを使用するには、 http://ng-table.com の手順に従う必要があります。

NgTableParamsインジェクションは大文字のNであることに注意してください

4
Thiago Bonfim