[英]Calculating Date Difference in Ember.js
我正在嘗試將此解決方案應用於Ember.js應用。 https://stackoverflow.com/a/3224854/2084924它顯然可以在jsfiddle中使用,但是我無法在Ember中正確實現它。
我正在學習,並且可能犯了一個明顯的錯誤。 我已將函數放置在模型中,並出現“ NaN”錯誤。 日期通過M / D / YYYY格式的輸入值傳遞。 任何人都有約會和余燼的經驗嗎? 您能看到為什么它無法解析日期嗎?
//app/model/task.js
import DS from 'ember-data';
export default DS.Model.extend({
taskname: DS.attr(),
startdate: DS.attr(),
enddate: DS.attr(),
duration: Ember.computed('startdate', 'enddate', function() {
var date1 = new Date('startdate');
var date2 = new Date('enddate');
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
return diffDays;
}),
banding: DS.attr()
});
您不是從模型中讀取值,而是試圖將字符串“ startdate”和“ enddate”轉換為日期。 它應該是new Date(this.get('startdate'));
。
import DS from 'ember-data';
export default DS.Model.extend({
taskname: DS.attr(),
startdate: DS.attr(),
enddate: DS.attr(),
duration: Ember.computed('startdate', 'enddate', function() {
var date1 = new Date(this.get('startdate'));
var date2 = new Date(this.get('enddate'));
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
return diffDays;
}),
banding: DS.attr()
});
試試這個代碼
//app/model/task.js
import DS from 'ember-data';
export default DS.Model.extend({
taskname: DS.attr(),
startdate: DS.attr(),
enddate: DS.attr(),
duration: Ember.computed('startdate', 'enddate', function() {
var self = this;
var date1 = new Date(self.get('startdate'));
var date2 = new Date(self.get('enddate'));
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
return diffDays;
}),
banding: DS.attr()
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.