Breeze / Angular:日期输入指令不起作用/奇怪行为

时间:2015-12-03 11:40:22

标签: angularjs date breeze

我试图让这个指令(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()之前将日期正确地保存到数据库中。此外,我并不真正需要整个日期选择器组件,我们只需要一个简单的日期输入。

  • 那么如何找出哪里出了问题呢?
  • 或者是否有另一个建议的日期输入指令/组件,或者更简单的方法是只有一个文本输入字段,允许我输入日期(没有时间)或空日期?

0 个答案:

没有答案