繁体   English   中英

在输入助手中调用一个ember把手助手

[英]call an ember handlebars helper within an input helper

我无法弄清楚在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

您可以通过执行类似的操作来扩展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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM