1. ホーム
  2. angularjs

[解決済み] angular js unknownプロバイダ

2022-04-27 11:20:30

質問

mongolabのサンプルを自分自身のREST APIに合うようにカスタマイズしようとしています。今、このエラーに遭遇していますが、何が間違っているのかよくわかりません。

Error: Unknown provider: ProductProvider <- Product
    at Error (unknown source)
    at http://localhost:3000/js/vendor/angular.min.js:28:395
    at Object.c [as get] (http://localhost:3000/js/vendor/angular.min.js:26:180)
    at http://localhost:3000/js/vendor/angular.min.js:28:476
    at c (http://localhost:3000/js/vendor/angular.min.js:26:180)
    at d (http://localhost:3000/js/vendor/angular.min.js:26:314)

これが私のコントローラーです。

function ProductListCtrl($scope, Product) {
  $scope.products = Product.query();
}

で、これがモジュールです。

angular.module('productServices', ['ngResource']).
    factory('Product', ['$resource', function($resource){
      var Product = $resource('/api/products/:id', {  }, {
        update: { method: 'PUT' }
      });

      return Product;
    }]);

解決方法は?

あなたのコードは、サンプルjsFiddleにコピー&amp;ペーストすると、実際に(呼び出し自体は別として)動作するように見えます。 http://jsfiddle.net/VGaWD/

もっと完全な例を見てみないと何とも言えませんが、上記のjsFiddleが参考になればと思います。 私が疑っているのは、アプリを 'productServices' モジュールで初期化していないことです。 . これは、別のjsFiddleで見ることができます。 http://jsfiddle.net/a69nX/1/

AngularJSとMongoLabで仕事をしようと思っている方 既存のアダプタを使って $resource と MongoLab の : https://github.com/pkozlowski-opensource/angularjs-mongolab MongoLabで作業するときの苦痛がかなり緩和されます。ここで実際に使っているところを見ることができます。 http://jsfiddle.net/pkozlowski_opensource/DP4Rh/ 免責事項 私はこのアダプタ(AngularJSの例に基づいて書かれています)を保守しているので、明らかに偏見があります。