[解決済み] app.configでサービスをインジェクトする
2022-04-23 04:01:17
質問
app.configにサービスをインジェクトして、コントローラが呼ばれる前にデータを取得できるようにしたいです。私はこのように試してみました。
サービスです。
app.service('dbService', function() {
return {
getData: function($q, $http) {
var defer = $q.defer();
$http.get('db.php/score/getData').success(function(data) {
defer.resolve(data);
});
return defer.promise;
}
};
});
コンフィグです。
app.config(function ($routeProvider, dbService) {
$routeProvider
.when('/',
{
templateUrl: "partials/editor.html",
controller: "AppCtrl",
resolve: {
data: dbService.getData(),
}
})
});
でも、こんなエラーが出ます。
Error: 不明なプロバイダ:EditorAppのdbService
このサービスを正しくセットアップしてインジェクトするにはどうすればよいですか?
解決方法は?
アレックスは、あなたがやろうとしていることができない正しい理由を提供してくれたので、+1。しかし、あなたがこの問題に遭遇しているのは、レゾルブを設計通りに使っていないからです。
resolve
は、サービスの文字列か、注入される値を返す関数のどちらかを取ります。後者であれば、実際の関数を渡す必要があります。
resolve: {
data: function (dbService) {
return dbService.getData();
}
}
フレームワークが解決しようとするとき
data
を注入します。
dbService
を自由に使えるようにします。に注入する必要はありません。
config
ブロックを作成する必要があります。
お待たせしました。
関連
-
[解決済み】typeerrorは、未定義のプロパティ'data'を読み取ることができません。
-
[解決済み】TypeError: window.initMap is not a function
-
[解決済み] 適用がすでに進行中のエラー
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
angularjsのルーティングについて $stateと$stateParamsの話
-
angularでのng-repeatとtrack by
-
[解決済み] AngularJs .$setPristineでフォームをリセットする
-
[解決済み] ServiceとFactoryで迷う
-
[解決済み] ng-classを使った複数クラスの追加
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] `ui-router` $stateParams vs. $state.params
-
[解決済み] 適用がすでに進行中のエラー
-
[解決済み] AngularJs ReferenceError: $http is not defined
-
[解決済み] AngularJSのng-showとフェードアニメーション
-
[解決済み] シンプルなangularjsの日付入力
-
[解決済み] どのようにangularJSでrouteProviderとlocationProviderを設定するのですか?
-
[解決済み] AngularJS : ローカルストレージを使用する
-
[解決済み] angularJSの::の意味するところ
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] なぜAngularJSはselectに空のオプションを含めるのですか?