将 Ember 助手的输出绑定到 Ember 输入助手的值
Binding the output from an Ember helper to the value of an Ember input helper
我写了一个 Ember/Handlebars 帮助程序来使用 Moment.js 格式化日期:
Ember.Handlebars.registerBoundHelper('formattedDate', function(date, format) {
var formattedDate = moment(date).format(format);
return new Handlebars.SafeString(formattedDate);
});
现在,我想像这样将它与 Ember 输入助手一起使用(其中 startDate 是范围内模型上的 属性):
{{input id="startDatePicker" class="form-control" value={{formattedDate startDate 'MMM D'}} required=true}}
但这不起作用并引发语法错误。有什么办法吗?
您可以通过使用子表达式来避免语法错误(请参阅有关子表达式的更多信息 here)。
所以,你会这样做:
{{input id="startDatePicker" class="form-control" value=(formattedDate startDate 'MMM D')}}
此时你不会得到语法错误,但它仍然会表现得很奇怪。我建议您改为为格式化日期实施计算 属性。看下面我最近给的回答,应该给你一个很好的起点
我写了一个 Ember/Handlebars 帮助程序来使用 Moment.js 格式化日期:
Ember.Handlebars.registerBoundHelper('formattedDate', function(date, format) {
var formattedDate = moment(date).format(format);
return new Handlebars.SafeString(formattedDate);
});
现在,我想像这样将它与 Ember 输入助手一起使用(其中 startDate 是范围内模型上的 属性):
{{input id="startDatePicker" class="form-control" value={{formattedDate startDate 'MMM D'}} required=true}}
但这不起作用并引发语法错误。有什么办法吗?
您可以通过使用子表达式来避免语法错误(请参阅有关子表达式的更多信息 here)。
所以,你会这样做:
{{input id="startDatePicker" class="form-control" value=(formattedDate startDate 'MMM D')}}
此时你不会得到语法错误,但它仍然会表现得很奇怪。我建议您改为为格式化日期实施计算 属性。看下面我最近给的回答,应该给你一个很好的起点