使用v-on:click,我想用Vue中div的id设置一个变量.JS-我如何引用这个?

<div id="foo" v-on:click="select">...</div>

<script>
    new Vue({
        el: '#app',
        data: {
        },
        methods: {
            select: function(){
                divID = this.id // ??
                alert(divID)
            }
        }
    })
</script>

推荐答案

可以使用事件对象$event扩展事件处理程序.这应该符合你的需要:

<div id="foo" v-on:click="select($event)">...</div>

事件以javascript传递:

export default {
    methods: {
        select: function(event) {
            targetId = event.currentTarget.id;
            console.log(targetId); // returns 'foo'
        }
    }
}


然而,没有人会阻止你写简短的符号:

<div id="foo" @click="select">...</div>


<div id="foo" @click="select(bar, $event)">...</div>

要查找v-on指令的更多选项,可以查看vue文档中的相应条目:

100

Vue.js相关问答推荐

Nuxt.js i18n不提供默认区域设置中的页面而不重定向

Nuxt3-Vue中的useRoute和useRouter有什么区别

Webpack 导入的模块不是函数

webpack vue-loader 配置

使用 Vue Js 运行 Jest 测试时出现语法错误:无法在模块外使用 import 语句

如何将对象作为props传递并让组件更新子对象

如何在 vue.js 2 的其他组件中调用方法?

如何将 Nuxt.js 更新到最新版本

Vuetify / Offline离线图标

Vuetify 输入自动完成错误

Laravel Blade 模板将数据传递给 Vue JS 组件

Jest错误找不到模块....

如何在生产模式下为 chrome 扩展启用 Vue devtools?

加载时焦点文本框上的 Vue.js

所有 vue props和数据都给出错误 Property属性在 type 上不存在,带有 typescript

按键删除对象不会更新vue组件

vue组件中导入和使用three.js库

使用 Firebase Auth for Google 将匿名用户转换为注册用户

$set 不是函数

IOS在输入焦点上显示键盘