0
私はAngular JSの新機能です。角度ui-route解決インジェクションの問題
var app = angular.module('app', ['ui.router', 'ngAnimate', 'ngSanitize', 'ui.bootstrap'])
.config(function ($stateProvider, $urlMatcherFactoryProvider, $urlRouterProvider) {
$urlMatcherFactoryProvider.caseInsensitive(true);
$urlRouterProvider.otherwise('/refuel');
$stateProvider.state('refuels', {
url: '/refuel',
controller: 'refuelController',
controllerAs: 'refuelCtrl',
resolve: {
$refuelsPumpsResolve: function ($http) {
return $http({
url: "http://localhost:60000/Refuels/GetUserPumps",
method: "GET"
})
}
}
})
})
.controller('refuelController', function ($refuelsPumpsResolve) {
var $this = this;
this.isOpen = true;
this.isOpen = function() {
$this.isOpen = !$this.isOpen
}
this.pumpsData = $refuelsPumpsResolve;
});
しかし、角度コントローラで$ refuelsPumpsResolveのための「不明なプロバイダの例外がスローされます:
は、私は次のコードを持っています。 私は何の問題も見ません。コードの上に、githubのui-routeチュートリアルがあります。ヘルプ
たぶん、このデバッグ先端が役立つだろう:二行目の1にプロバイダの次のリストを削除してください1つ($ stateProvider、$ urlMatcherFactoryProvider、$ urlRouterProvider)を指定します。それらが参照されている箇所のコードをコメントアウトする必要があります。それが認識されていないプロバイダを確認します。注意:既に完全なエラー記述にこの情報が含まれている可能性があります。次に、そのプロバイダがどのモジュールに属しているかを確認します。モジュールが1行目に含まれていることを確認してください。 – dreamerkumar
@VishalKumar Thanks Kumar、問題は$ refuelsPumpsResolveがコントローラに注入されているようですが、解決策はui-roterと連携していないようですが、それと動作するようです。 – AlexBerd
解決方法:resolveオブジェクトの '$ refuelsPumpsResolve'コントローラーの依存関係などが含まれます。単純な値を返すダミーのresolveオブジェクトを作成します。それを注入する。それが問題を解決すれば、あなたの非同期rqstが何とかエラー出力され、角度のDIがそれを気に入らないかもしれないのでしょうか?私はちょうどここで推測しています。 – jusopi