import
ES6 モジュールとステートメントを使用するために、既存の Angular プロジェクトをリファクタリングしようとしています。これはほとんどのアプリケーションで機能しますがresolve
、ルートのブロックが原因で問題が発生します。
私が知る限り、構文は以前と同じである必要があります。
$stateProvider.state('stateName'), {
template: <div></div>
controller: 'stateCtrl'
controllerAs: 'ctrl'
resolve: {
someData: ['DataService', function(DataService){
return DataService.getData();
}]
}
}
ただし、ブレークポイントを設定するsomeData
と、「DataService」が angulars 依存性注入によって適切に解決されていないことがわかります (または、適切に解決されていますが、まだ初期化されていません)。サービスは対応するモジュールに登録されますが、そのコンストラクターは関数に入る前に呼び出されませんでしたsomeData
。
構文が間違っていると思ったので、少し実験したところ、他のいくつかのサービス (同じ構文で作成され、 と同じモジュールに登録されているDataService
) が実際に初期化され、resolve-block 内に正しく挿入されていることがわかりました。
どこを見ればいいのか、またはこれをトラブルシューティングする方法はありますか?