2

私はAngularが初めてで、いくつかの実験を行っています。さまざまな YouTube API エンドポイントをヒットするファクトリを作成し、そのファクトリをディレクティブ内で使用したいと考えています。しかし、私はこのエラーを実行し続けます:

Error: [$injector:unpr] Unknown provider: YouTubeAPIProvider <- YouTubeAPI uploadVideoButtonDirective

ディレクティブは次のとおりです。

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

app.directive('uploadVideoButton', ['YouTubeAPI', function(YouTubeAPI) {
  return {
    //SOME CODE HERE
  }

}]);

ここに工場があります:

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

app.factory('YouTubeAPI', ['$http', function($http) {
    return{
        //SOME CODE HERE
    }
}]);

ドキュメントや他の投稿を調べたところ、このエラーはインジェクションの問題に関連していることがわかりました。私の人生では、コードの何が問題なのかわかりません。私はそのようにアプリを指定しています:

<html lang="en" ng-app="MobileUploader">

簡単にするために、ファクトリとディレクティブの両方からコードを削除しました。エラーはファクトリが見つからないと言っているため、削除したコードが問題になるとは思いません。右?たぶん、ここで本当に明白な何かが欠けているだけです...

前もって感謝します。

4

2 に答える 2

2

問題は、モジュールの使用方法です。

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

新しいモジュール (セット) を作成します。その間

var app = angular.module('MobileUploader'); 

既存のモジュールを取得 (get) します。したがって, []、2回目の呼び出しで削除する必要があり、モジュールを1回作成するだけで機能するはずです。

ライブデモ: http://plnkr.co/edit/HChYfl8HVKrbzqUrh62n?p=preview

(質問のコメントより)

于 2013-11-08T05:50:30.133 に答える
0
var app = angular.module('MobileUploader', [])    
app.factory('YouTubeAPI', ['$http', function($http) {
    return{
        //SOME CODE HERE
    }
}]);
app.directive('uploadVideoButton', ['YouTubeAPI', function(YouTubeAPI) {
  return {
    //SOME CODE HERE
  }

}]);

プランカー

于 2013-11-08T05:57:49.467 に答える