我有一个视图模型,它基本上是一个对象数组。该对象具有StartDate和EndDate属性。我试图实现一个功能,其中数组中前一项的EndDate应该是当前项的StartDate的T - 1。例如:
如果数组类似于:
Type Start Date End Date
ObjectA 5/1/2014 5/31/2014
ObjectB 6/1/2014
现在,当用户将ObjectB的StartDate更改为6/15/2014时,ObjectA的EndDate应自动更改为2014年6月14日。
如何通过淘汰赛实现这一目标?请帮忙。
答案 0 :(得分:0)
ObjectB的开始日期应该是可观察的。然后订阅observable属性,当它发生变化时,改变ObjectA的属性。
function addDays(date, value) {
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + value, date.getHours(), date.getMinutes(), date.getMilliseconds());
}
ObjectB.StartDate.subscribe(function (newDate){
ObjectB.EndDate(addDays(newDate, -1));
});