2017-05-15 3 views
0

anglejのコンフィグフェーズでCookieに格納された値にアクセスしたいのですがどうすればいいですか?出来ますか?angularjsのコンフィグレーションフェーズで定数またはクッキー値にアクセスする

var defaultLang = 'de-DE'; 
var moduleName = { moduleName: 'UICaption.Resources' }; 

    $translateProvider.useLoader('customLocalizationLoaderFactory', 
    {   
     moduleName, url: resourceUrl 
    }); 

    $translateProvider.preferredLanguage(defaultLang); 

私は(コードの下)のような何かを達成したいの内部:私は現在、完全に正常に動作しているのapp.config内の以下のコード(関数(...、$ translateProvider){...})を持ちますApp.configファイル()が、私は唯一のプロバイダが登録して構成フェーズ中にアクセスしていると思うので、私は$クッキーサービスまたはその他の方法を経由して設定フェーズでCookieに保存された値にアクセスする方法:

var defaultLang = $cookies.get('ASPNET_CULTURE' === 'de-DE') ? 'de-DE' : 'en-US'; 
    var moduleName = { moduleName: 'UICaption.Resources' }; 

    $translateProvider.useLoader('customLocalizationLoaderFactory', 
    { 
     moduleName, url: resourceUrl 
    }); 

    $translateProvider.preferredLanguage(defaultLang); 

案内してください。もし他のアプローチが同じものがあれば?

ありがとうございます。

+1

[This(http://stackoverflow.com/questions/20588114/how-to-use-cookiesprovider-in-angular-config)古い回答があなたを助けるかもしれません。 –

+0

定数のための1つの方法は、現在のモジュールのconfig/controller/[この回答](http://stackoverflow.com/a/28416656/4315380) – tanmay

+0

で説明されているように他の場所に注入することができる別々のモジュールにそれらを持つことです。 Reddによって共有されたリンクの回答(手動でクッキーを注入する)が私のために働きます。ありがとうございました。 – Pranay

答えて

0

This古い回答が役立ちます。

もっと一般的には、$ cookieは.run()フェーズで取得されることを意図しています。 .config()にすべての$ translate部分と言語をロードし、.run()のクッキーを使ってアクティブな言語を設定することをお勧めします。

関連する問題