ここでのコアの問題は、$ cookieをconfigブロックに挿入することができず、静的ファイルのロードをAngular Translateで行うことができないようです。 configブロック。私は、私の静的な翻訳ファイルのクエリパラメータとして使用したいと思う私のアプリのバージョンを含むクッキーが、リリース間のキャッシュ破棄のフォームを持っている。ここで
はコードです:
(function() {
'use strict';
angular.module('vcp.core').
config(configureTranslationResources);
function configureTranslationResources($translateProvider) {
var $cookies;
angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
$cookies = _$cookies_;
}]);
var vcpVersion = $cookies ? $cookies.get('vcp-version') : '';
$translateProvider.useStaticFilesLoader({
prefix: '/v2/assets/i18n/',
suffix: '.json?v=' + vcpVersion
});
}
})();
これは奇妙な感じ、より良い方法があるはずのように。 Angular Translateのドキュメントから、実行ブロック(このアプローチよりもはるかに優れているとは言えません)でスタティックファイルの読み込みを設定する方法や、設定内のクッキーを取得する方法がないようではありません$ cookiesProviderをブロックします。
おそらく、このアプローチは悪い考えであり、問題を解決する良い方法がありますか?
素晴らしいアイデア:あなたはこのようなあなたの設定機能にバージョン番号を注入できるよう
定数は、設定時に使用可能です。動的に生成されていなくても(この場合はそうではありませんが)、私はindex.htmlでビルドツールを使用して、それを設定するよりもはるかにクリーンな定数を作るという同じアイデアを使用することができますクッキーに入れて、そのように回してください。 –