現在、 nuxt上にFullCalendarをVue.jsのコンポーネント対応したもので読み込んでいます。
( https://fullcalendar.io/docs/vue )
FullCalendarが子コンポーネント的なものを作成し、親コンポーネントからオプションを渡すと
FullCalendarが生成する中身もちょっといじれる状態になっています。
そこで、生成される子コンポーネントから、FullCalendar関係しない別のコンポーネントを呼び出すようにしたいのですが、
なにか手はないかと。。。
■現状のコード↓
親コンポーネント <template> <div> <FullCalendar :options='calendarOptions' ref="fullCalendar" /> </div> </template> <script> import FullCalendar from '@fullcalendar/vue' import listPlugin from '@fullcalendar/list' export default { components: { FullCalendar }, data() { return { calendarOptions: { plugins: [listPlugin], eventSources: [ /*予定の配列*/ ], eventDidMount: this.eventDidMount, } } }, methods: { eventDidMount(info) { let t = info.el.querySelector('.fc-list-event-graphic'); t.insertAdjacentHTML('afterbegin','<i class="far fa-clock"></i><component v-bind:is="Logo" />'); } } } </script>
eventDidMountメソッドで、HTMLを挿入するように書くと、
実際に生成されるHTMLは↓になります。
<td class="fc-list-event-graphic"> <i class="far fa-clock"></i> <component v-bind:is="Logo"></component> <span class="fc-list-event-dot"></span> // <- デフォルトで生成される要素 </td>
この<component>部分を、実際のコンポーネントが吐き出されるような術は考えられるでしょうか?
あなたの回答
tips
プレビュー