带有JSON提要的Fullcalendar以扩展形式返回eventSource

带有JSON提要的Fullcalendar以扩展形式返回eventSource,fullcalendar,angular-ui,Fullcalendar,Angular Ui,我使用arshaw的优秀fullcalendar和Angular UI,现在我遇到了扩展形式的eventSource对象在作为JSON提要获取时无法呈现的问题 使用控制器中的以下代码获取数据: $scope.events = [ '/api/v1/users/104/events?format=cal&type=9', '/api/v1/users/104/events?format=cal&type=10' ]; $scope.eventSources = $sc

我使用arshaw的优秀fullcalendar和Angular UI,现在我遇到了扩展形式的eventSource对象在作为JSON提要获取时无法呈现的问题

使用控制器中的以下代码获取数据:

$scope.events = [   
  '/api/v1/users/104/events?format=cal&type=9',
  '/api/v1/users/104/events?format=cal&type=10'
];
$scope.eventSources = $scope.events;
当JSON提要返回包含事件对象的数组时,它实际上可以工作:

// returned by - /api/v1/users/104/events?format=cal&type=9
[
  {
    url: "/#/events/86893",
    start: "2013-03-15",
    title: ": Event - 86893"
  },
  {
    url: "/#/events/31348",
    start: "2013-03-27T09:30Z",
    title: "Event - 31348"
  }
],
// returned by - /api/v1/users/104/events?format=cal&type=10
[
  {
    url: "/#/events/86899",
    start: "2013-03-25",
    title: ": Event - 86899"
  },
  {
    url: "/#/events/31349",
    start: "2013-03-17T09:30Z",
    title: "Event - 31349"
  }
]
不过,我想在事件数据中指定一些选项,例如不同JSON提要的不同颜色。因此,我决定让API以它自己的方式返回事件源。这是API返回的结果

// returned by - /api/v1/users/104/events?format=cal&type=9
{
  events: [
    {
      url: "/#/events/86893",
      start: "2013-03-15",
      title: "Event - 86893"
    },
    {
      url: "/#/events/31348",
      start: "2013-03-27T09:30Z",
      title: "Event - 31348"
    }
  ],
  color: "#ff9900",
  allDayDefault: false,
  ignoreTimezone: true
},
// returned by - /api/v1/users/104/events?format=cal&type=10
{
  events: [
    {
      url: "/#/events/86899",
      start: "2013-03-25",
      title: "Event - 86899"
    },
    {
      url: "/#/events/31349",
      start: "2013-03-17T09:30Z",
      title: "Event - 31349"
    }
  ],
  color: "#3366FF",
  allDayDefault: false,
  ignoreTimezone: true
}
不幸的是,当作为JSON获取时,该格式不会呈现。获取扩展格式时,我对eventSources分配进行了一些更改,如下所示:

$scope.eventSources = [ $scope.events ];

如果我将原始JSON响应和扩展形式的事件源从API直接剪切并粘贴到eventSources方法中,它就会工作。当事件源作为JSON提要返回时,是否可以使用扩展形式的事件源

从API返回的eventSource可能不是应该使用扩展表单选项的地方,而是在用作eventSource的事件函数中

文档中指出,扩展表单应该在用于调用API的Json对象内部使用

如果API太难返回事件的额外选项,则需要单独设置每个选项

目前在本文中,我看到的唯一调用扩展选项的地方是从返回的api数据

我认为这应该是另一种方式。日历应该在请求数据之前就知道扩展表单。这意味着服务器不需要返回任何额外的选项,日历将按提要和扩展选项组织事件对象


如果你能发一封邮件,我们就能搞定

是的,你可能是对的。我对代码示例进行了一些更新,以澄清一些问题。正如您所看到的,每个事件源的颜色选项都不同。我将在明天或后天尝试获取一个plunk。我已经做出了一个plunk:我仍然认为你在这一点上是正确的,它不能包括带有选项的扩展事件源。我是angular的新手,但我想我可以使用服务来请求和返回数据?谢谢你的时间。所以我所做的就是让feed对象使用扩展表单,并更改events.json文件以只返回纯事件数组,扩展表单按照假设的每个feed对象工作。谢谢实际上,我只是通过使用angular服务来解决这个问题,该服务以扩展形式返回事件对象。换句话说,完整的日历根本不需要解析JSON URL,而是用扩展形式的事件源填充。使其工作的关键是在服务中将isArray设置为false,类似于:query:{method:'get',params:{userId:0,typeId:0},isArray:false}