カレンダーUIを表示するためにFullCalendarプラグインを使用するIonic 3プロジェクトでコーディングしています。ページのモジュールでこのコードに問題があり、の背景を変更しようとしています。カレンダーの1日。FullCalendarのdayRender関数を使用しました。
$('#calendar').fullCalendar({
dayRender: function (date, cell) {
var today = new Date('2017-09-11T00:40Z')
if (date.getDate() == today.getDate()) {
this.cell.css("background-color", "red");
}
},
});
出力にこのランタイムエラーがあります:
date.getDate()は関数ではありません。 ( 'date.getDate()'では、 'date.getDate()'は未定義です)FullCalendar in Ionic 3
日付はFullCalendarライブラリですでに定義されているDateオブジェクトであるため、理由がわかりません。
解決策はありますか?
ps:私の悪い英語でごめんなさい。
https://fullcalendar.io/docs/display/dayRender/ のdayRender
コールバックのドキュメントによると
date
は、指定された日のモーメントです。
したがって、コード内のdate
は、Dateオブジェクトではなく、momentJSオブジェクトです。そのため、getDateメソッドは存在しません。 today
をmomentJSオブジェクトとして作成することをお勧めします。そうすれば、それらを直接比較できます。
$('#calendar').fullCalendar({
dayRender: function (date, cell) {
var today = moment('2017-09-11T00:00Z');
if (date.isSame(today, "day")) {
cell.css("background-color", "red");
}
},
//...
});
私が書いたコードの詳細については、モーメントコンストラクターが解析できる日付の詳細については http://momentjs.com/docs/#/parsing/string/ を参照してください。 http://momentjs.com/docs/#/query/is-same/ 日付比較方法の詳細については。
上記の実際の例をここで見ることができます: http://jsfiddle.net/sbxpv25p/22/