我正在使用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
}谢谢!
发布于 2016-12-01 21:28:56
您可以为moment-picker和ng-model使用不同的对象,其中moment-picker的对象将被格式化,而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进行显示,如change事件
Formatted date: {{ vm.fromDateFormatted}}有关更多信息,请参阅此问题中的答案:https://github.com/indrimuska/angular-moment-picker/issues/92
https://stackoverflow.com/questions/40238995
复制相似问题