前提・実現したいこと
初めて作るアプリとして現在Fullcalendarを利用して、簡単な日記投稿アプリを制作しています。
カレンダーの日付ボックスをクリックからモーダルを呼び出しデータベースであるFirebaseにデータを登録できるところまで実装できています。(登録データはFirebase上で登録確認済)
実現したいことは、データベースに入っているデータをカレンダー上にイベント表示としてタイトルをもってきて表示をさせたいです。。
ご教授いただけましたら幸いです。
よろしくお願いいたします。
発生している問題・エラーメッセージ
エラーメッセージ subscribe.ts:233 TypeError: r.replace is not a function at o.child (validation.ts:399) at t.ref (Database.ts:85) at url (calendar.js:7) at lo (main.min.js:6) at Object.fetch (main.min.js:6) at oi (main.min.js:6) at ri (main.min.js:6) at ni (main.min.js:6) at ti (main.min.js:6) at Jo (main.min.js:6)
該当のソースコード
javascript
1const resetCalendarView = () => { 2 const calendarEl = document.getElementById('calendar'); 3//Firebaseのdatabaseからdiaryディレクトリを探してurlを取得する 4 const url = (diary) => { 5 firebase 6 .database() 7 .ref(diary) 8 .getDownloadURL() 9 .catch((error) => { 10 console.error('取得失敗:', error); 11 }); 12 }; 13 const calendar = new FullCalendar.Calendar(calendarEl, { 14 initialView: 'dayGridMonth', 15 locale: 'ja', 16 dateClick: function(info) { 17 $('#modalForm').modal('show'); 18 }, 19 events:url, //ここでdatabaseのurlをイベントとして表示させる 20 }); 21 calendar.render(); 22}; 23 24
試したこと
Firebaseメソッドで該当部分のurlを取得し、url変数にいれそれをeventsで表示させればできると思ったのですが、うまくいきませんでした。
eventsについて公式ドキュメント、Qiitaなどの参考になるものをしらべましたが、firebaseを使用している例があまりなくurlプロパティについて/myfeed.phpの表記は多々見かけるのですが、下記画像内のurlを直接書いてもダメでした。
初歩的な質問だとはおもいますが、教えていただければと思います。よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー