在输入帮助器中调用一个Ember handlebars帮助器 [英] call an ember handlebars helper within an input helper
问题描述
BoundHelper执行日期格式: / p>
Ember.Handlebars.registerBoundHelper('formattedDate',function(date){
return moment(date).format 'DD.MM.YYYY');
});
我可以在模板中调用帮助者并获取格式化日期:
{{formattedDate'myUnformattedDate}}
现在我想在一个类似于这个的输入帮助器中调用这个帮助:
{{input type =文本value = orderDate id =orderDateplaceholder ={{formattedDate orderDate}}}}
甚至可能在Ember中调用帮助者?
- 更新
我正在Ember 1.7.0开发
您可以扩展 Ember.TextField
通过执行
c创建自己的日期输入
code> App.DateInputComponent = Ember.TextField.extend({
格式:'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;
}
}
返回日期;
} .property('value')
});
然后在你的模板中你可以做...
{{date-input date = date}}
OR
{{date-input date = date format =MM / DD / YYYY你可以在这里看到一个工作的垃圾箱:
jsbin.com/vosen/1/editrel =nofollow> http://emberjs.jsbin.com/vosen/1/edit
有关进一步讨论,请参阅: http://讨论。 emberjs.com/t/example-building-a-date-input-field/674/4
I can't figure out the right way to call an Ember.Handlebars.registerBoundHelper within an Ember input-helper.
The BoundHelper does a date formatting:
Ember.Handlebars.registerBoundHelper('formattedDate', function(date) {
return moment(date).format('DD.MM.YYYY');
});
I can call the helper in a template and get a formatted date:
{{formattedDate 'myUnformattedDate}}
Now I would like to call this helper within an input-helper similar to this:
{{input type="text" value=orderDate id="orderDate" placeholder="{{formattedDate orderDate}}" }}
Is calling a helper within a helper even possible in Ember?
-- Update
I'm developing in Ember version 1.7.0
You can extend Ember.TextField
to create your own date-input
by doing something like
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')
});
and then in your template you can do...
{{date-input date=date}}
OR
{{date-input date=date format="MM/DD/YYYY"}}
You can see a working bin here: http://emberjs.jsbin.com/vosen/1/edit
For further discussion see: http://discuss.emberjs.com/t/example-building-a-date-input-field/674/4
这篇关于在输入帮助器中调用一个Ember handlebars帮助器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!