我正在使用arshaw和Angular UI的優秀fullcalendar,現在我遇到了擴展形式的eventSource對象存在問題,並且在以JSON提取方式提取時無法呈現。帶有JSON提要的Fullcalendar以擴展形式返回eventSource
的數據被取出在控制器使用以下代碼:
$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在其extended form中返回事件源。這是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 ];
如果我切割並從API粘貼原始JSON響應(在其擴展形式事件源)直入eventSources方法有用。當它作爲JSON提要返回時,是否可以使用擴展形式的事件源?
是的,你可能是對的。我稍微更新了代碼示例以澄清一點。如您所見,每個事件源的顏色選項都不相同。我會盡量在明天或者後一天得到一些樂趣。 – 2013-03-16 08:49:15
我做了一個plunk:http://plnkr.co/edit/XWEhZWEwsYbjeFnTEDw3?p=preview我仍然認爲你是對的,不能包含帶有選項的擴展事件源。我是新角度,但我認爲我可以使用服務來請求並返回數據?謝謝你的時間。 – 2013-03-18 09:37:27
所以我所做的只是讓feed對象利用擴展形式並將events.json文件更改爲僅返回一個純粹的事件數組,並且擴展形式對每個提要對象(如虛擬)都起作用。 http://plnkr.co/edit/7L0MZ72FfNCwrKsg5Dcs?p=preview – joshkurz 2013-03-20 19:02:41