我正在使用angular-moment-picker组件处理我的应用程序中的日期,我正在努力引入i18n支持。我有正确的日期选择器与阿拉伯语标签正确呈现,但提交的日期字符串也是阿拉伯语文本。是否可以让标签保留在指定的区域设置中,但基础模型值是否保留为英文格式(例如,以YYYY-MM-DD
格式提交)?
该组件有一个change
事件,我可以用它来监听更改日期并使用以下代码重新格式化日期,但显然基础模型仍包含阿拉伯文本。
vm.onChange = function(newValue) {
var englishDate = moment(newValue, 'LL', 'ar').locale('en');
var date = englishDate.format('YYYY-MM-DD HH:mm');
// date correctly contains the english format date however it is not on the model variable
}
谢谢!
答案 0 :(得分:0)
你可以在瞬间选择器和ng模型中使用不同的对象,其中一个用于时刻选择器的对象将被格式化,而ng-model将是一个moment.js对象。
<div id="fromDatePicker" class="input-group" moment-picker="vm.fromDateFormatted" format="L" ng-model="vm.fromDate">
<input class="form-control" ng-model="vm.fromDateFormatted" ng-model-options="{ updateOn: 'blur' }" placeholder="From date...">
<span class=" input-group-addon "><i class="icon icon-calendar "></i></span>
</div>
在代码中使用vm.fromDateFormatted进行显示和vm.fromDate,如更改事件
Formatted date: {{ vm.fromDateFormatted}}
有关详细信息,请参阅此问题的答案:https://github.com/indrimuska/angular-moment-picker/issues/92