我正在尝试使用ember-pikaday
插件在ember.js中创建一个日期选择器。日期选择器在显示时应该有一个日期。所以,我在我的模板中添加了以下代码:
{{pikaday-input value=rental.date format="MMMM Do YYYY" yearRange="2016" useUtc=true}}
但是,即使我将值指定为rental.date
,输入也是空白的。我知道rental.date
的值不为空,因为当我将占位符设置为rental.date
时,占位符的日期是正确的。
答案 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”等。它也会正确处理这些字符串值。