【问题标题】:Angular-Kendo Date Format BehaviorAngular-Kendo 日期格式行为
【发布时间】:2013-09-22 03:01:50
【问题描述】:

大家好,

在我的 Angular 应用程序中使用 Kendo-UI 日期选择器时遇到了一些问题。任何帮助将不胜感激。

提前致谢,
德鲁

问题

当对日期选择器使用 angular-kendo 指令以及日期格式时,会将日期对象放入模型中。期望的行为是在模型中存储一个由选项格式化的字符串。

Javascript 版本

Angular-Kendo 0.5.2 2013-07-26

AngularJS v1.0.5

jQuery jQuery v1.9.1

来自模板的片段

日期选项

$scope.dateOptions = { 格式:“yyyy-MM-dd” };

输出

模型中存储的日期对象:2013 年 9 月 17 日星期二 00:00:00 GMT-0400 (EDT)
想要存储在模型中的字符串:2013-09-17

问题

  1. 这个问题有什么补救措施吗?
  2. 我是否正确使用了指令?

【问题讨论】:

    标签: angularjs kendo-ui


    【解决方案1】:

    在 Kendo UI 2014 Q2 (2014.2.625) 中,此问题已通过使用 k-ng-model 而不是 ng-model 得到修复。

    【讨论】:

      【解决方案2】:

      我认为发生了什么是当你通过 ng-model 绑定时,kendo 正在返回

      的值
      .value()
      

      在你的控制器中,我相信你可以做到这一点:

      $scope.$watch('preview.publicationDate'), function (val) {
          if (val) {
             $scope.preview.publicatonDate = kendo.toString(val, "yyyy-MM-dd");
          }
      });
      

      【讨论】:

        【解决方案3】:

        此代码有助于将 kendo-date-time-picker 更改为所需的格式

        <input kendo-date-time-picker
                     k-options="monthSelectorOptions"
                     k-format="'dd/MM/yyyy hh:mm tt'" />
        

        【讨论】:

          【解决方案4】:

          可能的解决方案

          我可以通过创建自定义指令来解决问题。 另一个堆栈溢出帖子 here 提供的示例演示了如何创建自定义指令。

          我还有一些额外的测试要做,但它似乎正在工作。不过,我不确定这是否是解决问题的最有效方法。

          来自模板的片段

          <input type="text" parsedate="yyyy-MM-dd" name="publicationDate" ng-model="preview.publicationDate" kendo-date-picker="" k-options="dateOptions"/>
          

          自定义指令

          module.directive("parsedate", function () {
              return {
                  require: "ngModel", link: function (scope, element, attr, ngModel) {
          
                      function parsedate(text, format) {
                          return kendo.toString(text, attr.parsedate);
                      }
          
                      ngModel.$parsers.push(parsedate);
                  }
              };
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多