Angular をいじりながら、ファクトリ、サービス、定数、ルーティング、およびその他のコア コンセプトの使用方法をよりよく理解しようとしています。そこで、node、express、jade、angular を使用して簡単なデモ アプリを作成します。
ここで、routeProvider 構成内で値を使用したいと思います。定数を作成しましたが、これは正常に機能します。将来の使用に備えてより柔軟にするために、ファクトリを構築しますが、これは「不明なプロバイダー」で失敗します。これはAngularでのインスタンス化シーケンスの問題ですか? .config
ファクトリをセクションに挿入できないのはなぜですか? 工場ではなくサービスで同じことを試みる前に、同じエラーが発生しました。単純なタイプミスや構文エラーがなかったことを願っていますが、これまでのところ何も見つかりませんでした。
angular
.module('main', [
'ngRoute'
])
.constant('cApp', {
'defaultPath': '/home'
})
.factory('svcState', function(){
var appState;
function getState(){
return appState;
}
function init() {
appState='/home';
}
init();
return{
getState: getState
};
})
.config(function($routeProvider, svcState, cApp){
$routeProvider
.when('/home', {
templateUrl: "partials/home"
})
.when('/info', {
templateUrl: "partials/info"
})
.otherwise({
//redirectTo: cApp.defaultPath // this works fine
redirectTo: svcState.getState // this fails with "Error: [$injector:unpr] Unknown provider: svcState"
})
})
;