我试图让这个指令(https://github.com/eight04/angular-datetime)在我的项目中工作。它可以在以下插件中正常工作: http://plnkr.co/edit/DawLbi?p=preview
但是,当我将相同的代码(下面)插入我的大型项目时,它不起作用,我不知道为什么以及在哪里搜索。
<input type="text" datetime="dd.MM.yyyy" ng-model="vm.firstDate" class="form-control" data-z-validate />
会发生什么:输入正确显示格式化日期,但是当我点击年份(或其他某个组件)并尝试使用数字键(输入新的一年)更改它时,它会清除整个字段(进入第一个数字后)!使用向上/向下箭头键可以正常工作。
只有在breeze-entity上使用数据模型时才会出现问题。如果我只是在我的控制器上放一个简单的js Date对象并链接到那个,它就可以工作。
我也尝试过扩展我的breeze实体:
function registerRechnungRec(metadataStore) {
metadataStore.registerEntityTypeCtor(g14EntityNames.rechnung, RechnungRec, postCtorInitializer);
function RechnungRec() {
this.datumExt = moment().toDate(); // doesn't work
}
function postCtorInitializer(rechnung) {
// this works, but not tracked by breeze then
rechnung.datumExtDate = moment(rechnung.datum).toDate();
}
// also no luck with that one:
// http://stackoverflow.com/questions/26982624/angular-and-breeze-edit-date-object
//addDateWrapperPropertyExt(RechnungRec, 'datum', 'datumExtDate');
}
具有日期类型的普通输入适用于输入/选择日期。但是之后我需要做一些momentjs格式化,以便在我调用entityManager.save()之前将日期正确地保存到数据库中。此外,我并不真正需要整个日期选择器组件,我们只需要一个简单的日期输入。