设置“全日历”事件的结束将覆盖“开始”



当您将外部项目放到完整日历上时,它会自动设置事件的开始日期,但结束时间为空。所以我想做的是将结束时间设置为 2 小时后。

eventReceive: function(event){
    event.end = event.start;
    console.log(event.start.format()); // 2014-12-14T07:00:00 
    event.end.add(2, 'h');
    console.log(event.start.format()); // 2014-12-14T09:00:00 
    ...

当我尝试这样做时,event.start设置为与event.end完全相同的时间

编辑forceEventDuration解决,但仍然好奇它为什么要这样做?

event.start是一个object。您传递的是对象引用,而不是值。要查看这在 javascript 中是如何工作的,请执行以下命令:

var x = {"a": 10}
var y = x
y["a"] = 5
console.log(x)

这将返回{"a": 5},因为您更改了引用的对象。在传递对象之前,您需要先创建对象的副本(克隆)。

相关内容

  • 没有找到相关文章

最新更新