2016-11-10 17 views
0

我使用的是Angular bootstrap datepicker popup,我想根據語言環境設置文本框的日期格式,所以我的想法是從locale文件讀取屬性「shortdate」並將其設置爲format屬性。如何閱讀AngularJs語言環境文件?

所以我的問題是,我怎樣才能讀取語言環境文件?該文件存在,定位是實際工作,你可以看到在瀏覽器的開發者工具的網絡選項卡中的文件

enter image description here

回答

0

我意識到不需要讀取任何內容,因爲語言環境已經由Angular加載,所以您可以在$ locale服務中獲得所有數據。

this.format = $locale.DATETIME_FORMATS.shortDate; 

在我的情況下,該格式的變量被分配到UIB-日期選擇器,彈出這樣的:

<input type="text" uib-datepicker-popup="{{vm.format}}" 
ng-model="vm.model" datepicker-options="vm.dateOptions" 
ng-required="vm.isRequired" ng-disabled="vm.isDisabled"/> 

愚蠢的問題,我希望這可以幫助其他一些無能在未來:)

0

我曾經有過同樣的要求和最終使用了「tmh.dynamicLocale」模塊(see here

使用這個模塊,您首先需要配置一個區域供應商。在一個角度配置功能,注入「tmhDynamicLocaleProvider」並調用localeLocationPattern()函數來定義模式用來訪問你的locale

例如:

tmhDynamicLocaleProvider.localeLocationPattern('vendor/angular/locale/angular-locale_{{locale}}-{{locale}}.js'); 

然後,當區域設置是應該改變,你只需要在注入「tmhDynamicLocale」在服務/控制器/ ...並調用set()函數,路過的參數,您要切換到的語言環境。

希望能幫到你。

+0

感謝您的幫助,但我不希望區域設置發生任何變化。區域設置將是相同的,我只需要閱讀此區域設置來更新datepicker彈出窗口的格式。 – Javiere

+0

由您決定是否調用set()函數而不進行任何實際的語言環境更改。在我工作的一個應用程序中,我根據用戶在應用程序中選擇的語言加載了不同的區域設置文件,以便日期選擇器小部件中的標籤進行相應的轉換。 – kyiu

+0

但問題是,datepicker沒有使用本地化來設置格式,它有一個屬性,必須手動設置。無論您加載的是哪種語言環境,它們將被該組件忽略,因此要正確設置,我想閱讀區域設置,然後手動設置。 – Javiere