javascript - 如何通过“addEventListener”访问“calendarEvents”的数据元素?
问题描述
我尝试在 nuxtJS 中修改 vuetify 框架的“v-calendar”元素,我需要通过“addEventListener”方法访问“calendarEvents”数据元素,但我不知道如何在那里做到这一点。请帮助解决这个问题。
<template>
<v-sheet height="300" class="pt-3">
<v-calendar
type="month"
now="2019-01-08"
value="2019-01-08"
event-color="blue"
:event-margin-bottom="3"
:events="events"
></v-calendar>
</v-sheet>
</template>
<script>
export default {
data: () => ({
calendarEvents: [
{
name: 'Vacation',
start: '2019-01-15'
},
{
name: 'Meeting',
start: '2019-01-07',
},
{
name: '30th Birthday',
start: '2019-01-03',
},
{
name: 'Conference',
start: '2019-01-21',
}
],
}),
mounted(){
let elements = document.querySelectorAll('.v-event.v-event-start.v-event-end.blue.white--text > div')
elements.forEach(item => {
item.addEventListener('mouseover', (e) => {
console.log(e)
this.mouseover(e)})
})
},
directives: {
maybeDoThis:{
inserted: (el, binding, vnode, oldVnode) => {
console.log(el)
console.log(binding)
}}
},
methods: {
mouseover: (ev) => {
console.log(ev) // ev.target.value don't work here
}
}
}
</script>
解决方案
您无需在此处尝试利用 DOM,您可以使用日历为您提供的事件。您可以使用以下@mousemove:(day/time/interval)="func"
模式:
@mousemove:day="mouseover"
推荐阅读
- azure-devops-pipelines - Azure DevOps Pipelines 中的用户审计?
- bluetooth-lowenergy - 如何禁用蓝牙连接,只做广告
- docusignapi - DocuSign API:如何使用应用程序身份验证创建信封?
- r - R:在交叉表中显示小计
- apache-spark - spark:在 hdfs 中将数据帧写入文件与将 rdd 写入文件之间的区别
- java - 程序解释方法之外的另一部分代码
- c# - 什么是页面导航中的模态上下文?
- java - Java如何将特定时间转换为不同的时区
- r - R data.table 范围,使用变量可靠地引用未知列名
- google-sheets - 有多个匹配行时的索引匹配