Ember.js - ember-pikaday不允许预设日期

时间:2016-05-22 13:06:19

标签: javascript ember.js datepicker

我正在尝试使用ember-pikaday插件在ember.js中创建一个日期选择器。日期选择器在显示时应该有一个日期。所以,我在我的模板中添加了以下代码:

{{pikaday-input value=rental.date format="MMMM Do YYYY" yearRange="2016" useUtc=true}}

但是,即使我将值指定为rental.date,输入也是空白的。我知道rental.date的值不为空,因为当我将占位符设置为rental.date时,占位符的日期是正确的。

1 个答案:

答案 0 :(得分:2)

您的案例的问题是由于您将momentjs对象直接传递给ember-pikaday。不是直接传递momentjs对象,而是在所有者组件上创建一个名为如下的计算属性:

  rentalDate:Ember.computed('rental.date', function() {
      return this.get('rental.date').toDate();
  }),

并对rentalDate执行绑定。 ember-pikaday不处理自己传入的momentjs对象,只需通过toDate()提取实际的javascript日期对象,如上面的代码片段所示。只是为了澄清你也可以将格式化的字符串传递给ember-pikaday,例如“25/05/2016”,“2016.05.25”等。它也会正确处理这些字符串值。