当我在文件destroyRecord()
上触发app/controllers/transactions.js
时,我收到如下错误。
以下是我的文件。
应用/模板/ transactions.emblem
div
format-datetime model.created_at
bs-button clicked='destroyRecord' clickedParamBinding='model' size='xs' icon='glyphicon glyphicon-remove' type='danger' title='Delete'
应用/助手/格式datetime.js
import Ember from 'ember';
export function formatDatetime(input) {
if ( input ) {
return '%@/%@/%@'.fmt(input.getDate(), input.getMonth()+1, input.getFullYear());
} else {
return '';
}
}
export default Ember.Handlebars.makeBoundHelper(formatDatetime);
应用/控制器/ transactions.js
....
actions: {
destroyRecord: function() {
if ( confirm('Are you sure to delete?') ) {
this.get('model').destroyRecord();
this.transitionToRoute('index');
}
}
....
但是当我将文件app/helpers/format-datetime.js
更改为:
import Ember from 'ember';
export function formatDatetime(input) {
if ( input ) {
return input; // look this
} else {
return '';
}
}
export default Ember.Handlebars.makeBoundHelper(formatDatetime);
没有发生错误。所以我想我的错误在于我的帮助文件。任何解决方案?
答案 0 :(得分:0)
在输入中未定义getDate
,getMonth
或getFullYear
,在那里抛出调试器并找出输入是什么。
export function formatDatetime(input) {
if ( input ) {
console.log(input);
debugger;
return '%@/%@/%@'.fmt(input.getDate(), input.getMonth()+1, input.getFullYear());
} else {
return '';
}
}