我需要对属性值应用一个函数。我使用以下代码将其与输入框绑定。
{{bindAttr value="ticket.t_date"}}
我有一个辅助功能如下
Ember.Handlebars.helper('date', function(unixDate){ return unixToDate(unixDate); });
我需要在 bindAttr 中使用这个函数。
我需要对属性值应用一个函数。我使用以下代码将其与输入框绑定。
{{bindAttr value="ticket.t_date"}}
我有一个辅助功能如下
Ember.Handlebars.helper('date', function(unixDate){ return unixToDate(unixDate); });
我需要在 bindAttr 中使用这个函数。
在内部调用辅助bind-attr
函数是不可能的,但您可以通过另一种方式来实现,在模型类上定义一个计算属性,将您的日期格式化辅助函数用作普通函数调用:
App.Ticket = DS.Model.extend({
t_date: DS.attr('string'),
formattedDate: function () {
return unixToDate(this.get('t_date'));
}.property('t_date')
});
然后formattedDate
在你的bind-attr
:
{{#each ticket in model}}
<input type="text" {{bindAttr value="ticket.formattedDate"}}></input>
{{/each}}
请参阅此处了解我的意思的演示:http: //jsbin.com/UfiSote/5/edit
是的,有可能,然后您需要绑定到您的ticket
属性:
App.MyController = Ember.ObjectController.extend({
ticket: null,
formattedDate: function () {
return unixToDate(this.get('ticket.t_date'));
}.property('ticket')
});
希望能帮助到你。