簡體   English   中英

Angular uiCalendar不重現事件

[英]Angular uiCalendar not redenring events

我正在嘗試從有角的ui日歷構建一個星期調度程序,但我不斷收到錯誤消息:“無法讀取屬性“ null的格式””,並且我的事件列表均未顯示。 所有依賴項均已導入,我在index.html上聲明ui日歷,如下所示:

<body ng-controller="MainCtrl">
<div class="row" on-load="renderCalendar('myCalendar');">
  <div class="col-md-4">
    <h1>All Events</h1>
    <ul>
      <li class="event" ng-repeat="event in eventSource">
        {{event.title}}
        <button type="button" class="btn btn-danger" ng-click="removeEvent($index)"> delete</button>
        </li>
    </ul>
  </div>
  <div class="col-md-8">
    <div ui-calendar="uiConfig.calendar" ng-model="eventSource" calendar="myCalendar"></div>
  </div>
</div>

我的角度模塊聲明:

var app = angular.module('calendar-app',
['ngResource',
'ui.calendar']
);

日歷顯示在頁面上,但是沒有我的硬編碼事件(事件在控制器中聲明)。 我在這里有這個調度程序的插件: https ://plnkr.co/edit/Plscx3IiZb5h9cE7Wdv6?p=preview

我在相關問題上進行了大量搜索,但找不到有關此問題的解決方法。 如何正確渲染這些事件?

Cannot read property "format" of null是與開始或結束時間有關的錯誤-Fullcalendar試圖格式化日期而失敗。 這是因為在Plunker中顯示的事件將開始和結束日期指定為Javascript Date對象:

{title: 'All Day Event',start: new Date(y, m, 6),allDay:true},

這不是Fullcalendar要求的格式- 如文檔所述 ,您需要使用:

瞬間輸入,例如ISO8601字符串。

ISO8601字符串看起來像2017-10-18 如果要堅持使用Javascript的Date一個快速解決方案是使用toISOString()

{title: 'All Day Event', start: new Date(y, m, 6).toISOString(), allDay:true},

您還可以切換到使用Moment,這是Fullcalendar必需的,因此已經可用:

{title: 'All Day Event', start: moment().date(6), allDay:true},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM