我无法找出在Ember输入助手中调用Ember.Handlebars.registerBoundHelper的正确方法。
BoundHelper执行日期格式化:
Ember.Handlebars.registerBoundHelper('formattedDate', function(date) {
return moment(date).format('DD.MM.YYYY');
});
我可以在模板中调用帮助程序并获取格式化日期:
{{formattedDate 'myUnformattedDate}}
现在我想在类似于此的输入助手中调用此助手:
{{input type="text" value=orderDate id="orderDate" placeholder="{{formattedDate orderDate}}" }}
在Ember中甚至可以在帮助器中调用助手吗?
- 更新
我正在开发Ember版本1.7.0
答案 0 :(得分:3)
您可以通过执行类似
的操作来扩展Ember.TextField
以创建自己的date-input
App.DateInputComponent = Ember.TextField.extend({
format: 'DD.MM.YYYY',
date: function(key, date) {
var format = this.get('format');
if (date) {
this.set('value', moment(date).format(format));
} else {
value = this.get('value');
if (value) {
date = moment(value, format);
} else {
date = null;
}
}
return date;
}.property('value')
});
然后在你的模板中你可以做...
{{date-input date=date}}
OR
{{date-input date=date format="MM/DD/YYYY"}}
您可以在此处查看工作箱:http://emberjs.jsbin.com/vosen/1/edit
有关进一步的讨论,请参阅:http://discuss.emberjs.com/t/example-building-a-date-input-field/674/4